免费素材网站设计现今网站开发的主流框架
web/
2025/10/9 10:53:56/
文章来源:
免费素材网站设计,现今网站开发的主流框架,seo是什么意思seo是什么职位,东莞网络安全建设在很久很久以前#xff0c;手机是有红外功能的#xff0c;后来随着蓝牙技术的成熟#xff0c;红外逐渐被蓝牙取代#xff0c;不再是标配了。红外本身还是有些优点#xff0c;比如操作简便#xff0c;成本低。要想在手机上添加红外功能#xff0c;就要外接一个转换模块。…在很久很久以前手机是有红外功能的后来随着蓝牙技术的成熟红外逐渐被蓝牙取代不再是标配了。红外本身还是有些优点比如操作简便成本低。要想在手机上添加红外功能就要外接一个转换模块。现在市面上通过Headphone音频口外接MCU实现音频转红外的方案很多拉卡拉是一个成功案例。我们的目标是做一个具有学习功能的Android手机遥控器通过音频转红外控制大多家电设备。1. 硬件设计 右声道输出稳频正弦波为单片机提供电源左声道作为tx数据线phone到mcumic线作为rx数据线mcu到phonecommand线接地右声道电源供电存在问题Android手机千差万别手机里的音频codec模块也不尽相同D/A转换的放大倍数(增益)也不同表现在有些人的手机上铃声大有些铃声小。这个值是在Android系统底层驱动里设置一般无法用上层软件改变。用galaxy nexusnexus 4都由于放大倍数不够而导致供电不足而三星Galaxy S3就能提供足够的电压一些山寨机的音量也足够大。所以考虑更改硬件设计加入钮扣电池由硬件直接供电这样比较稳妥。2. 数据编码自定义波形组织形式这里提供两种频率一种表示下一个bit不变另一种表示下一个bit变化。自定义一帧数据的组包形式一般有包头包尾校验位和数据。3. 核心代码两个线程用来收发数据包Runnable _outputGenerator new Runnable() {public void run() {Thread.currentThread().setPriority(Thread.NORM_PRIORITY);while (!_stop) {updateOutputBuffer();_audioTrack.write(_stereoBuffer, 0, _stereoBuffer.length);}}};Runnable _inputProcessor new Runnable() {public void run() {Thread.currentThread().setPriority(Thread.MIN_PRIORITY);while (!_stop) {int shortsRead _audioRecord.read(_recBuffer, 0, _recBuffer.length);processInputBuffer(shortsRead);}}};提供正弦波输出double powerMutiplier Math.PI * (double)_powerFrequency / (double)_sampleFrequency * 2;_stereoBuffer[i*21] (short) boundToShort(Math.sin(powerMutiplier * _powerFrequencyPos) * 32760);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89592.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!