1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大大安安,我想请问在官方SPI FIFO Mode范例里,Tx 和 Rx都使用FIFO传输,其中enable "SPI_FIFO_TX_INT_MASK"这项中断功能主要是什么意思
在IRQHandler动作是什么,谢谢! /* Set TX FIFO threshold, enable TX FIFO threshold interrupt and RX FIFO time-out interrupt */ SPI_EnableFIFO(SPI0, 4, 4); SPI_EnableInt(SPI0, SPI_FIFO_TX_INT_MASK | SPI_FIFO_TIMEOUT_INT_MASK); void SPI0_IRQHandler(void) { /* Check RX EMPTY flag */ while(SPI_GET_RX_FIFO_EMPTY_FLAG(SPI0) == 0) { /* Read RX FIFO */ g_au32DestinationData[g_u32RxDataCount++] = SPI_READ_RX0(SPI0); } /* Check TX FULL flag and TX data count */ while((SPI_GET_TX_FIFO_FULL_FLAG(SPI0) == 0) (g_u32TxDataCount < TEST_COUNT)) { /* Write to TX FIFO */ SPI_WRITE_TX0(SPI0, g_au32SourceData[g_u32TxDataCount++]); } if(g_u32TxDataCount >= TEST_COUNT) SPI_DisableInt(SPI0, SPI_FIFO_TX_INT_MASK); /* Disable TX FIFO threshold interrupt */ /* Check the RX FIFO time-out interrupt flag */ if(SPI_GetIntFlag(SPI0, SPI_FIFO_TIMEOUT_INT_MASK)) { /* If RX FIFO is not empty, read RX FIFO. */ while((SPI0->STATUS SPI_STATUS_RX_EMPTY_Msk) == 0) g_au32DestinationData[g_u32RxDataCount++] = SPI_READ_RX0(SPI0); } } |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
657浏览 3评论
570浏览 2评论
386浏览 1评论
408浏览 1评论
370浏览 1评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:00 , Processed in 0.584583 second(s), Total 74, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号