ASK/OOK 异步串行接收我已调通。
在做异步串行发送的时候,先用CC1101WriteCmd(CC1101_STX);切换到发送模式,系统默认GD0为 异步串行模式下的Input TX PIN
然后就在 GD0 PIN 输出电平加延时的方式实现异步输出,不知道这样对不对?
官方手册只有一句
The CC1101 modulator samples the level of the asynchronous input 8 times faster than the programmed data rate.
CC1101 调制器将以8 倍数据率采样异步输入等级
比如说我要输出交替300us高,800us低这样的电平该如何设置?
不知是否有例程可提供,期待官方的回复!
Nutcracker:
不太明白 "要输出交替300us高,800us低这样的电平" 这个要求。听起来像要模拟输出,MCU 的 PWM 输出估计是可以实现的。
Clarence:
回复 Nutcracker:
您好,可能我当时表述得不是很恰当,确实是模拟输出,我这边是想实现对传统315/433设备的兼容。
切换到发射状态,直接对GD0输出电平就可以了。
programmed data rate对输出波形的影响确实是有的,只是我不知道怎么去量化,
我需要发送的波形波特率约为0.77KB,却发现设置数据率为2.1KB时效果较好
谢谢你的回复。
kuaker lan:
使用CC1101 ASK 异步传输有些问题,想请教您。
(1)CC1101异步传输数据发送接收都是通过单片机的IO口吗?
即数据配置使用SPI,数据发送利用单片机IO口从GDO0发出去,从GDO2接收?
发送单片机IO口发送引脚PIO_TX连接到GDO0(GDO0配置为CC1101的数据输入)
接收单片机IO口接收引脚PIO_RX连接到GDO2(GDO2配置为CC1101的数据输出)(2)现在ASK 普通模式工作正常,异步模式不行。