历史上的今天
今天是:2024年09月17日(星期二)
2019年09月17日 | STM8L串口中断进不去
2019-09-17 来源:eefocus
配置串口
void UART1_Config(void)
{
/*Enable USART clock */
CLK_PeripheralClockConfig(CLK_Peripheral_USART, ENABLE);
USART_DeInit();
USART_Init((uint32_t)9600, USART_WordLength_8D, USART_StopBits_1,
USART_Parity_No, (USART_Mode_TypeDef)(USART_Mode_Rx | USART_Mode_Tx));
/* 使能接收中断 */
USART_ITConfig(USART_IT_RXNE,ENABLE);
USART_Cmd(ENABLE);
/* 使能所有中断 */
enableInterrupts();
}
中断处理
从stm8l10x_it.c中找到INTERRUPT_HANDLER(USART_RX_IRQHandler, 28)函数并填充。
/**
* @brief USART RX Interrupt routine.
* @param None
* @retval None
*/
INTERRUPT_HANDLER(USART_RX_IRQHandler, 28)
{
/* In order to detect unexpected events during development,
it is recommended to set a breakpoint on the following instruction.
*/
if(USART_GetITStatus(USART_IT_RXNE) != RESET) {
if (recv_len > 8) {
recv_len = 0;
}
recv_buff[recv_len++] = USART->DR;
//USART_SendData8(USART->DR);
USART_ClearITPendingBit();
}
}
代码比较简单,就是接收中断被触发后,把数据放到一个接收缓冲区中。
问题
通过调试,发现中断没有被触发,一直进不到中断中。网上也没有相关问题。最后,找到了问题。需要在stm8_interrupt_vector.c文件中把串口接收中断注册到中断向量表中。
找到下面这行代码:
{0x82, NonHandledInterrupt}, /* irq28 */
修改为:
{0x82, USART_RX_IRQHandler}, /* irq28 */
上一篇:个人练习:串口中断和通信
史海拾趣
|
最近在制作一个f1模型改造的赛车机器人,手里有44b0和2440两块板子,我想用wince来做操作系统,不知难度如何? 我曾经用51单片机做过几个机器人,但是对arm的内核不是很熟悉 对bootloader bsp之类的也不精通。之前一直是用51单片机和cc1100对机器 ...… 查看全部问答> |
|
《STM32系列ARMCortex-M3微控制器原理与实践>>出书效率太低了! 《STM32系列ARM Cortex-M3微控制器原理与实践>>出书效率太低了!《基于MDK的STM32处理器开发应用》马上也 ...… 查看全部问答> |
|
Mini-STM32学习板,开发板。¥88元(不含邮费和税)。现货。价格合理,主要为方便大家体验STM32而推出的。也让大家多一个选择!QQ:583508038 ,msn:ljq66194052@hotmail.com , TEL :023-66194052 ²   ...… 查看全部问答> |
|
1、选择合适的算法和数据结构应该熟悉算法语言,知道各种算法的优缺点,具体资料请参见相应的参考资料,有很多计算机书籍上都有介绍。将比较慢的顺序查找法用较快的二分查找或乱序查找法代替,插入排序或冒泡排序法用快速排序、合并排序或根排序代 ...… 查看全部问答> |
|
关于PIC单片机不能用数组来调用字符串的问题: 函数原型 void Print_5X8(unsigned int y,unsigned int x, unsigned char ch[],unsigned int yn) { unsigned char wm ,ii = 0; unsigned int adder; while(ch[ii ...… 查看全部问答> |
|
本人菜鸟。在linux编译好.o文件,然后转到win7下使用超级终端向开发板传送文件,显示“远程系统没有响应”。换DNW,USB及COM口都能正常连接(用了USB转串口),但是一发送文件就显示乱码,根本无法执行,这究竟是为什么?还有其他简单的方式传送文 ...… 查看全部问答> |




