完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
NUC230_240_Series_BSP_CMSIS_V3.01.004\SampleCode\StdDriver\UART_TxRx_Function官方范例中
此范例最后只启动uart的中断,没启动NVIC的IRQ 中断请求,中断功能正常,想问看看各位大大为何可以如此写?谢谢大家! /* Enable Interrupt and install the call back function */ UART_EnableInt(UART0, (UART_IER_RDA_IEN_Msk | UART_IER_THRE_IEN_Msk | UART_IER_TOUT_IEN_Msk)); while(g_bWait); /* Enable Interrupt and install the call back function */ UART_EnableInt(UART0, (UART_IER_RDA_IEN_Msk | UART_IER_THRE_IEN_Msk | UART_IER_TOUT_IEN_Msk)); NVIC_EnableIRQ(UART02_IRQn); while(g_bWait); |
|
相关推荐
1个回答
|
|
在使用 UART 中断的时候,需要启动 NVIC IRQn 是因为需要将 UART 中断的优先级设置为高于其他中断。这是因为当多个中断同时触发时,优先级较高的中断会被先响应。
解决方法是在代码中添加启动 NVIC IRQn 的语句。在 NUC230_240_Series_BSP_CMSIS_V3.01.004SampleCodeStdDriveruART_TxRx_Function 官方范例中没有启动 NVIC 中断请求,是因为该范例中主要演示 UART 的传输和接收功能,没有涉及多个中断同时触发的情况,因此可以不需要启动 NVIC 中断请求。 但是建议在实际应用中启动 NVIC 中断请求,以确保程序的稳定性和正确性。启动 NVIC IRQn 的语句可以参考如下代码: NVIC_EnableIRQ(UART0_IRQn); //启动UART0中断请求 其中 UART0_IRQn 是 UART0 的中断号。需要根据具体的情况选择正确的中断号,确保启动的是对应的中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1105 浏览 1 评论
2473 浏览 5 评论
2807 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2645 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
652浏览 9评论
648浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
780浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 16:34 , Processed in 1.161494 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号