TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2538软件CRC触发错误响应中断问题

您好!我正在使用CC2538和contiki 3.0做收发包实验,使用默认的硬件CRC收发包没有问题,现在为了在数据包后面加入一点其他数据mydata,不得不改用软件CRC,可以收到数据包的内容,但是每次收包后都还会触发错误响应中断处理函数,然后把整个RF模块再初始化一遍。

 

软件CRC具体实现如下:

1. 初始化时候先将:

RFCORE_XREG_FRMCTRL0的第6位AUTOCRC设为0

 

2. 数据包准备:

//(1)前面先写入要发送的payload和后加的数据mydata,total_len长度为payload和mydata的长度之和

cc2538_write_FIFO_buf(payload, payload_len);

cc2538_write_FIFO_buf(mydata, mydata_len);

//(2)下面软件计算CRC值

unsigned short test_software_crc = crc16_data(payload, total_len + CHECKSUM_LEN, 0);

//(3)将软件CRC写入最后2字节checksum中

cc2538_write_FIFO_buf(&test_software_crc, CHECKSUM_LEN);

 

每次收包RFCORE_SFR_RFERRF寄存器中读到的2组错误信息:

RF Error: 0x00000004

RF Error: 0x00000002

应该分别对应第2位RXOVERF和第1位RXABO。每次收包都会有这样的错误,然后初始化RF模块。

 

试着在RF初始化的时候将RFCORE_XREG_FRMFILT0寄存器最低位Frame Filtering使能位设为0。但还是会触发上述的错误。这是为什么呢?

望不吝赐教,感谢!!!

H He:

每次可以收到我想要的东西,但同时会触发错误响应中断处理函数,实在是很困惑。

赞(0)
未经允许不得转载:TI中文支持网 » CC2538软件CRC触发错误响应中断问题
分享到: 更多 (0)