Nuvoton M0518 之 所有中断回调函数名称集锦备忘
此博客主要目的是为了让自己在忘记了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 之 所有中断回调函数名称集锦备忘相关推荐
- RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程
文章目录 一.前言 二.实验目的 三.API 3.2.osMessageQueueGet 四.代码 4.1.main.h 4.2.stm32f1xx.it.c 4.3.main.c 五.Event R ...
- STM32中断回调函数定时器-STM32电控学习笔记06
STM32中断&定时器-STM32电控学习笔记06 day6:2022/9/24 [中断概述] 在 STM32 中,对信号的处理可以分为轮询方式和中断方式,轮询方式就是不断去访问一个信号的端口 ...
- ajax post的回调函数另一个方法,jQueryajax–post()方法 - 米扑博客
jQuery ajax - post() 实例 请求 test.php 网页,忽略返回值: $.post("test.php"); 通过 AJAX POST 请求改变 div 元素 ...
- C++回调函数用法(zz)
一.回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子 ...
- C++回调函数用法(zt)
一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函 ...
- 彻彻底底了解回调函数
什么是回调函数? 一,回调函数 我们经常在C 设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其 ...
- 回调函数总结(个人见解)
回调函数总结(个人见解): 1. 回调函数的实现 ==> 被调用者写 2. 写库的人 ==> 调用回调函数的人 ==> 调用者 2.1 调用者: ...
- java中钩子函数回调函数_钩子函数 和回调函数
标签: http://blog.csdn.net/lipeionline/article/details/6369657 转自 也可以这样,更容易理解:回调函数就好像是一个中断处理函数,系统在符合你 ...
- js接收php 回调,JS callback回调函数的使用(附代码)
这次给大家带来JS callback回调函数的使用(附代码),JS callback回调函数使用的注意事项有哪些,下面就是实战案例,一起来看一下. 在使用开源项目的时候经常会使用到回调函数,如果把回调 ...
最新文章
- Commvault公司营收增长 但本季度仍身陷亏损
- 系统学习NLP(三)--NLP入门综述
- 微软可能是全球最大的开源贡献者,但开发者似乎并不买账​​​​​​​
- ubuntu启动时自动挂载windows分区
- webbrowser 百度列表点击_前嗅ForeSpider采集教程:关键词的「检索列表」采集「检索结果」...
- 【ArcGIS遇上Python】Python实现Modis NDVI批量化月最大合成
- 折线图 放大_第二个折线图(Line Plot)的示例代码
- unbtun python tab补全
- 洛谷P3649 [APIO2014]回文串(回文自动机)
- sql server database mail
- Infopath入门到精通系列-2 Infopath 文件内容查看
- 好看的table-css样式
- halcon轮廓擦除_【Halcon】轮廓处理
- PCB 一分钟科普之你真的懂多层板吗?
- win7装matlab教程,win7系统怎么安装matlab软件(图文教程)
- Hudi-表的存储类型及比较
- python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
- 有关未雨绸缪:我国电子商务税收策略的思索
- R语言使用循环语句一次性画出多幅图
- 知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇
热门文章
- 南农计算机考研历年分数线,2020南京农业大学考研复试分数线已公布
- com.tangosol.net.RequestPolicyException: No storage-enabled nodes exist for service oracle.coherence
- 博思英语计算机考试,博思考试英语词汇三种方法
- Linux 打开txt文本显示乱码
- linux切换用户的命令su 和 su - 的区别
- 电商导购前途末路了吗?
- [渝粤教育] 中国矿业大学 高级语言程序设计 参考 资料
- F5 分布式云:设置阻断列表/放行列表
- conda安装r Linux系统中
- 【C#+SQL Server+打印组件】实现电商快递单打印系统 四:快递单设置模块设计(附源码和资源)