射频通信技术详解与应用实践
1. 文本收发
在文本收发方面,可使用 RH_ASK 库来传输包含字符串的消息。 RH_ASK 驱动默认使用 Timer1 ,通过定时器驱动中断,每个比特周期产生 8 个中断。不过,若其他库(如 Servo 库)也使用 Timer1 ,可通过取消注释 user/Arduino/libraries/RadioHead 文件夹下 RH_ASK.cpp 文件第 32 行的 #define RH_ASK_ARDUINO_USE_TIMER2 ,让 RH_ASK 驱动使用 Timer2 。使用 RH_ASK rf (2000, receive pin, transmit pin, 0) 可定义传输速度(单位为比特每秒,bps)以及接收和发送数据的引脚。
信号格式包含 36 位训练前导码(由 18 个 0 - 1 比特对组成)、12 位起始符号( 0xB38 )、1 字节的有效负载长度、4 字节的头部、最多 60 个字符的消息内容(N 字节)以及 2 字节的帧校验序列(FCS)。有效负载长度为消息中的字符数加 7(1 字节有效负载长度、4 字节头部、2 字节 FCS)。除前导码和起始符号外,每个字节会拆分为高 4 位和低 4 位序列,映射为 6 位序列,并以最低有效位(LSB)优先的方式传输。
以下是 4 位序
超级会员免费看
订阅专栏 解锁全文
1127

被折叠的 条评论
为什么被折叠?



