最近调试CC430F6137,程序是接收无线低频数据,设置在接收到正确数据时让灯闪一下,现在遇到一个问题是:在debug连续运行时灯在闪说明数据接收正确,但是在接收函数后面添加断点查看数据接收buffer时看到的数据和我发射过来的数据不一致,但是灯在闪又说明数据接收正确,一直搞不懂这个问题,求大神指导。难道说CC430的内存有点特殊?
------解决方案--------------------
是不是你的断点干扰了原来的接收时序?
------解决方案--------------------
LZ
闪灯的触发条件是什么?
A.收到数据帧的开头就触发,就是IEEE物理层协议里说的Preamble sequence。那收到错误数据就不奇怪了,因为实际空间干扰很多。
B.收到完整数据帧后触发。
1).数据时怎么从缓冲区FIFO读出来的?一个个读到buffer吗?我以前用的时候,直接读没有问题,用DMA读就是有问题,至今我也没有解决用DMA不能读的问题,我姑且认为是DMA跟RADIO模块速度不匹配,如果楼主解决的话,欢迎交流。楼主可以手动得把数据一个个从FIFO地往外读看看对不对,如果对了的话就好说了。
2)楼主的数据有没有加上地址解析校验,地址解析正确的时候灯才闪。
暂时就想到这么多,建议楼主把手册弄懂的同时研究一下无线通信的基本概念和IEEE的无线协议。