完善资料让更多小伙伴认识你,还能领取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 的中断号。需要根据具体的情况选择正确的中断号,确保启动的是对应的中断。 |
|
|
|
只有小组成员才能发言,加入小组>>
791 浏览 0 评论
1151 浏览 1 评论
2527 浏览 5 评论
2860 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2710 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1070浏览 3评论
193浏览 2评论
455浏览 2评论
368浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
453浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 14:16 , Processed in 1.098872 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号