4 系统软件设计
4.1 nRF24L01的软件设置
由于STC12LE5408无标准的SPI总线接口,需采用软件模拟实现SPI总线。因此应严格按照SPI的时序要求编写,否则导致对nRF24L01的操作失败。nRF24L01的各种命令字都只有一个字节,分为读寄存器、写寄存器、读数据接收缓冲区、写发送数据缓冲区等。在输入任意命令字的同时,MISO输出STATUS寄存器的内容。对RF24L01的读写程序代码如下:
nRF24L01的ShockBurst和Enhanced ShockBurst两种数据模式的区别是:后者比前者多一个确认数据传输的信号,保证数据传输的可靠性。按Enhanced ShockBurst模式初始化,重新发送等待时间为250μs,重新发送次数为10次,地址是RX_ADR_WIDTH,输出功率为0 dBm,速度为1 Mb/s。nRF24L01处于POWER_UP状态。函数中WRITE_REG为写命令基地址0x20。其相关程序如下: