二、程序讲解
1.模块配置
这里选用的是正点原子的24L01,模块的GPIO口就不多做介绍。
2.收发模式
对这两种模式配置步骤我写在了程序上面,方便自己查看。每段程序都加入了自动应答功能,这里我觉得是比较复杂的地方。首先,RX模式的自动应答是在接收到数据时,会向发送方发送ACK信号,这个是开发者看不到,自动发送的;而TX模式在开启自动应答的同时,还会立马将自己配置成接收模式,来接收ACK信号。整个的过程是TX MODE——SEND DATA——转换为RX MODE——等待ACK信号——发送成功;RX MODE——接收到DATA——发送ACK——接收成功。值得注意的是,自动应答并不是必须的,但为了规范收发过程,我们最好一收一发地来。
三、调试心得
这套程序需要使用两个单片机才能完成收发,最先调试时为了方便看到发送是否成功,我在程序中加了打印。
一开始不要上来就检验是否能够收发成功,一般情况下我们就算对着例程复制程序有时也会错,后来我查了资料,看到有人建议先调试发送,再调试接收,这样会提高效率,也知道自己错哪里了,在这个启发下,我还在程序中把STATUS的值打印了出来,方便我查看程序就经跑到哪里。如果发送成功,STATUS=0X2E,接收成功,STATUS=0X40;
四、总结
虽然这不是我第一次调试模块程序,但这次的成功确实不一样,所以我把内容都记录下来,有缘人可参考。