在线时间16 小时
UID3126296
注册时间2015-5-12
NXP金币0
TA的每日心情 | 开心 2017-4-7 15:11 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
注册会员

- 积分
- 93
- 最后登录
- 2019-1-4
|
->我的系统是K60作为从端,接收和发送程序都采用的中断方式,禁止TX FIFO、RXFIFO ,采用的是SPI0寄存器,在K60发送第一个字节的时候,此时,SPI0_SR寄存器的 TFUF位已经置上了,表明TX FIFO发生了下溢出,然后,RXFRF0的数据一直保持不变,在这里面的数据就是我在通信过程中,被吃掉的那个数据,请问如何解决,各位大侠有遇到过这样的问题吗?
->做了几次实验,一次是直接将我的状态机屏蔽掉,人为的发送一连串的比如说从1-10这样的数据,查看我的TXFIFO是否还是发生溢出,第一个字节是否仍然被吃掉?通过示波器抓MISO,发现仍然是会发生下溢出,接着数据是这样显示的,2、2、3、4、5、6、。。。。。。等,说明与我的状态机没有关系;
->又做实验,我预先在我的spi初始化程序中,预先向TX FIFO控制中写入要发送的前两个字节,
SPI_PDD_WriteSlavePushTxFIFOReg(SPI0_BASE_PTR,(uint32_t)(0x1));
SPI_PDD_WriteSlavePushTxFIFOReg(SPI0_BASE_PTR,(uint32_t)(0x2));
/* Clear Tx FIFO fill flags */
SPI_PDD_ClearInterruptFlags(SPI0_BASE_PTR,SPI_PDD_TX_FIFO_FILL_INT_DMA);
这样修改后,发现第一个字节确实是可以正常显示了,我以为找到了问题所在,然后,在我的系统程序中,将我被吃掉的字节预先在初始化的程序中,先发送出来,可是,发现只发送了这一帧正确报文,后面的发送中断就没响应了,此方法也行不通;
请教各位?
|
|