此博客主要目的是为了让自己在忘记了M0518芯片的中断回调函数如何写的时候用的。

M0518有多个中断回调函数,函数列表如下:

BOD_IRQHandler
WDT_IRQHandler
EINT0_IRQHandler
EINT1_IRQHandler
GPAB_IRQHandler
GPCDEF_IRQHandler
TMR0_IRQHandler
TMR1_IRQHandler
TMR2_IRQHandler
TMR3_IRQHandler
UART02_IRQHandler
UART1_IRQHandler
SPI0_IRQHandler
UART3_IRQHandler
UART4_IRQHandler
UART5_IRQHandler
I2C0_IRQHandler
I2C1_IRQHandler
CAN0_IRQHandler
CAN1_IRQHandler
PWM0_IRQHandler
PWM1_IRQHandler
BPWM0_IRQHandler
BPWM1_IRQHandler
BRAKE0_IRQHandler
BRAKE1_IRQHandler
PWRWU_IRQHandler
ADC_IRQHandler
RTC_IRQHandler

其中举例说明串口0的接收数据中断回调使用。

串口0:

void UART0_Init()
{/*---------------------------------------------------------------------------------------------------------*//* Init UART                                                                                               *//*---------------------------------------------------------------------------------------------------------*//* Reset UART0 module */SYS_ResetModule(UART0_RST);/* Configure UART0 and set UART0 Baudrate */UART_Open(UART0, 115200);
}/*---------------------------------------------------------------------------------------------------------*/
/* ISR to handle UART Channel 0 interrupt event                                                            */
/*---------------------------------------------------------------------------------------------------------*/
void UART02_IRQHandler(void)
{UART_TEST_HANDLE();// printf("recv data ....\r\n");
}/*---------------------------------------------------------------------------------------------------------*/
/* UART Callback function                                                                                  */
/*---------------------------------------------------------------------------------------------------------*/
void UART_TEST_HANDLE()
{uint8_t u8InChar = 0xFF;uint32_t u32IntSts = UART0->ISR;if(u32IntSts & UART_ISR_RDA_INT_Msk){printf("\nInput:");/* Get all the input characters */while(UART_IS_RX_READY(UART0)){/* Get the character from UART Buffer */u8InChar = UART_READ(UART0);printf("%c ", u8InChar);if(u8InChar == '0'){g_bWait = FALSE;}/* Check if buffer full */if(g_u32comRbytes < RXBUFSIZE){/* Enqueue the character */g_u8RecData[g_u32comRtail] = u8InChar;g_u32comRtail = (g_u32comRtail == (RXBUFSIZE - 1)) ? 0 : (g_u32comRtail + 1);g_u32comRbytes++;}}printf("\nTransmission Test:");}if(u32IntSts & UART_ISR_THRE_INT_Msk){uint16_t tmp;tmp = g_u32comRtail;if(g_u32comRhead != tmp){u8InChar = g_u8RecData[g_u32comRhead];UART_WRITE(UART0, u8InChar);g_u32comRhead = (g_u32comRhead == (RXBUFSIZE - 1)) ? 0 : (g_u32comRhead + 1);g_u32comRbytes--;}}
}

在SYS_Init()函数中需要,给uart0上电:

/* Enable UART module clock */
    CLK_EnableModuleClock(UART0_MODULE);

同时还有:

/*---------------------------------------------------------------------------------------------------------*/
    /* Init I/O Multi-function                                                                                 */
    /*---------------------------------------------------------------------------------------------------------*/
        SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk);
    SYS->GPB_MFP |= SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;

在main()中要开启中断:

/* 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));
      UART_EnableInt(UART0, (UART_IER_RDA_IEN_Msk));

---- The End.

Nuvoton M0518 之 所有中断回调函数名称集锦备忘相关推荐

  1. RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程

    文章目录 一.前言 二.实验目的 三.API 3.2.osMessageQueueGet 四.代码 4.1.main.h 4.2.stm32f1xx.it.c 4.3.main.c 五.Event R ...

  2. STM32中断回调函数定时器-STM32电控学习笔记06

    STM32中断&定时器-STM32电控学习笔记06 day6:2022/9/24 [中断概述] 在 STM32 中,对信号的处理可以分为轮询方式和中断方式,轮询方式就是不断去访问一个信号的端口 ...

  3. ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客

    jQuery ajax - post() 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); 通过 AJAX POST 请求改变 div 元素 ...

  4. C++回调函数用法(zz)

    一.回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子 ...

  5. C++回调函数用法(zt)

    一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函 ...

  6. 彻彻底底了解回调函数

    什么是回调函数? 一,回调函数 我们经常在C 设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其 ...

  7. 回调函数总结(个人见解)

    回调函数总结(个人见解): 1.    回调函数的实现    ==>    被调用者写 2.    写库的人    ==> 调用回调函数的人 ==> 调用者 2.1    调用者: ...

  8. java中钩子函数回调函数_钩子函数 和回调函数

    标签: http://blog.csdn.net/lipeionline/article/details/6369657  转自 也可以这样,更容易理解:回调函数就好像是一个中断处理函数,系统在符合你 ...

  9. js接收php 回调,JS callback回调函数的使用(附代码)

    这次给大家带来JS callback回调函数的使用(附代码),JS callback回调函数使用的注意事项有哪些,下面就是实战案例,一起来看一下. 在使用开源项目的时候经常会使用到回调函数,如果把回调 ...

最新文章

  1. Commvault公司营收增长 但本季度仍身陷亏损
  2. 系统学习NLP(三)--NLP入门综述
  3. 微软可能是全球最大的开源贡献者,但开发者似乎并不买账​​​​​​​
  4. ubuntu启动时自动挂载windows分区
  5. webbrowser 百度列表点击_前嗅ForeSpider采集教程:关键词的「检索列表」采集「检索结果」...
  6. 【ArcGIS遇上Python】Python实现Modis NDVI批量化月最大合成
  7. 折线图 放大_第二个折线图(Line Plot)的示例代码
  8. unbtun python tab补全
  9. 洛谷P3649 [APIO2014]回文串(回文自动机)
  10. sql server database mail
  11. Infopath入门到精通系列-2 Infopath 文件内容查看
  12. 好看的table-css样式
  13. halcon轮廓擦除_【Halcon】轮廓处理
  14. PCB 一分钟科普之你真的懂多层板吗?
  15. win7装matlab教程,win7系统怎么安装matlab软件(图文教程)
  16. Hudi-表的存储类型及比较
  17. python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
  18. 有关未雨绸缪:我国电子商务税收策略的思索
  19. R语言使用循环语句一次性画出多幅图
  20. 知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇

热门文章

  1. 南农计算机考研历年分数线,2020南京农业大学考研复试分数线已公布
  2. com.tangosol.net.RequestPolicyException: No storage-enabled nodes exist for service oracle.coherence
  3. 博思英语计算机考试,博思考试英语词汇三种方法
  4. Linux 打开txt文本显示乱码
  5. linux切换用户的命令su 和 su - 的区别
  6. 电商导购前途末路了吗?
  7. [渝粤教育] 中国矿业大学 高级语言程序设计 参考 资料
  8. F5 分布式云:设置阻断列表/放行列表
  9. conda安装r Linux系统中
  10. 【C#+SQL Server+打印组件】实现电商快递单打印系统 四:快递单设置模块设计(附源码和资源)