嵌入式产品:通信方式

常见通信方式:SBUS/UART/I2C/SPI/USB/PPM/JTAG/CAN/MIDI/RS-232/RS-485

同步与异步

同步:有时钟信号,每个时钟发一位数据(时钟的频率和每一位数据对应)
异步:没有时钟信号,有数据起始位/停止位,从数据起始位开始间隔一定的时间取信号

串行与并行

串行:一位位发,先发低字节
并行:一次性发送

UART

异步串行(先发低字节)
接口:TXD/RXD
速度:一般9600个比特位每秒,即每秒传输9600/8=1200字节
数据长度:8位
起始位:高变低
停止位:低变高
优点:距离长
缺点:速度慢

IIC(inter-integrated circuit)

同步串行(飞利浦)
接口:SCL/SDA
频率:时钟
数据长度:多个字节
多主多从:发从机地址,再发数据,这样对应地址的从机才发送到缓存
优点:线少
缺点:速度慢

SPI(serial peripheral interface)

同步串行(摩托罗拉)
接口:sclk/mosi(master out slaver inout)/miso/ss
一主多从:通过片选使能来确定(高边低)
优点:全双工,速度快250Mbps(bit per second)
缺点:线多/距离短

高效通信

1. 不要使用死循环+read+sleep,这会导致断包和粘包。如果一定要这么做就用缓冲数组,把读到的数据存到数组,再对数组进行分包。
2. 比较好的办法是在线程中用select对不同设备的文件句柄进行监听可读/可写/异常,这样只用一个线程就可以对文件句柄进行监控,避免开启多个线程。使用select要注意:每次都要重新设置阻塞时间,重新设置监听的文件句柄集合,select的句柄是最大文件句柄+1。
3. 如果数据处理或发送的数据的时间比较长,则放入新的线程中。
嵌入式MIDI协议编程是指在嵌入式系统中使用MIDI(音乐仪器数字接口)协议进行编程的过程。MIDI协议是一种数字通讯协议,用于在音乐电子设备之间传输音乐信息。在嵌入式系统中,我们可以利用MIDI协议来实现音乐设备、声音控制器、合成器等的通讯和控制。 在嵌入式MIDI协议编程中,我们需要首先了解MIDI协议的数据格式和通讯规则。MIDI消息一般包括状态字节和数据字节,状态字节用于表示消息类型(例如音符、控制器等),而数据字节用于传输具体的音乐信息。通过理解MIDI消息的结构和含义,我们可以在嵌入式系统中编写相应的处理逻辑。 在实际编程过程中,我们可以使用各种嵌入式开发工具和设备,如Arduino、Raspberry Pi等。通过编写相应的代码,我们可以实现MIDI输入、输出、解析和处理等功能。例如,我们可以通过MIDI输入接口接收外部音乐设备的指令,然后根据这些指令控制嵌入式系统内部的声音生成器;同时,我们也可以通过MIDI输出接口将系统内部的音乐信息传输给外部设备进行播放或控制。 总之,嵌入式MIDI协议编程是一项涉及音乐、通讯和嵌入式技术的复合性任务。通过深入了解MIDI协议和灵活运用嵌入式系统编程技术,我们可以实现各种音乐设备和系统的控制和交互,为音乐科技领域的发展做出贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值