我的板子是STM8S系列,发送我采用轮询方式,可以正常发送,接收采用轮询方式,也可以正常接收;但是接收我采用中断方式,不能进入中断。现将我的代码贴出来,希望大家指教下 初始化UART1: void UART1_Init(u8 nData_Bit, u8 nStop_Bit, u16 nUart_BRR1, u16 nUart_BRR2) { u32 nUartDiv = 0x0; //初始化UART1寄存器 UART1->SR = 0xc0; UART1->DR = 0x0; UART1->BRR1 = 0x0; UART1->BRR2 = 0x0; UART1->CR1 = 0x0; UART1->CR2 = 0x0; UART1->CR3 = 0x0; UART1->CR4 = 0x0; UART1->CR5 = 0x0; UART1->GTR = 0x0; UART1->SCR = 0x0; //配置UARTDIV(波特率) UART1->BRR1 = nUart_BRR1; UART1->BRR2 = nUart_BRR2; IRQ_SetSoftPriority(18, ITC_IRQ_SOFT_PRIORITY_2); //UART1->CR2 = 0x2c;//允许发送和接收,能够产生接收中断 UART1->CR2 = 0x0c; UART1->CR1 |= nData_Bit CR3 |= nStop_Bit CR1 |= 0x0 DR; UART1_SendBit((uc8)uRevBit); } 主函数: void main(void) { IRQ_Init(); //LED_Init(); //KEY_Init(); //BEEP_Init(BEEP_FREQUENCY_1KHZ); CLK_Init(); UART1_Init(DATA_BIT8, STOP_BIT1, BAND_RATE_9600_BRR1, BAND_RATE_9600_BRR2); while (1); } |
从零开始操作STM8寄存器(风驰iCreate奉献)
【中文资料】初学STM8库函数的中文帮助软件
绝对经典的中文STM8学习手册,淘宝上学习板资料,友情大放送!
【原创教程】风驰iCreate独家开源STM8 27个例程和10多万字的pdf教程
STM8的LCD1602 4线驱动,为什么不工作
【精华资料】由零开始开发STM8
STM8S 的触摸库是如何在主程序中查询键的呢、
【精华资料】STM8的C语言编程1-14讲完整版
【精品教程】STM8系列单片机入门教程系列
STM8 第一次进中断不准【悬赏问答】
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
2、你没有配置中断优先级
3、你没有配置中断向量
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
配置中断向量优先级:
IRQ_SetSoftPriority(ITC_IRQ_UART1_RX, ITC_IRQ_SOFT_PRIORITY_1);//配置软件优先级为1级
配置中断向量:
{0x82, (interrupt_handler_t)UART1_Rev_IRQHandler}, /* irq18 */
开启环形中断:
enable_IRQ();//打开中断总开关
那位朋友,是这样吗?我之前也是这样做的,不行呀。。
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
1、你没有开启环形中断
2、你没有配置中断优先级
3、你没有配置中断向量
中断优先级和中断向量我都有加的。但是环形中断是什么,是中断的总开关吗
配置中断向量优先级:
IRQ_SetSoftPriority(ITC_IRQ_UART1_RX, ITC_IRQ_SOFT_PRIORITY_1);//配置软件优先级为1级
配置中断向量:
{0x82, (interrupt_handler_t)UART1_Rev_IRQHandler}, /* irq18 */
开启环形中断:
enable_IRQ();//打开中断总开关
那位朋友,是这样吗?我之前也是这样做的,不行呀。。
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
这个。
你可以参考一下附件中的例程。
UART3_example2.rar
2010-11-27 09:07 上传
点击文件名下载附件
4.05 KB, 下载次数: 311
RE:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
enableInterrupts(); // all interrupts enable
这个。
你可以参考一下附件中的例程。
我已而有同样的问题哦
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
enableInterrupts(); // all interrupts enable
这个。
你可以参考一下附件中的例程。
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。
回复第 9 楼 安于2010-11-27 01:08:27发表:
enableInterrupts(); // all interrupts enable
这个。
你可以参考一下附件中的例程。
我已而有同样的问题哦
回复:大家帮忙看一下,我的板子是STM8的,为什么我的UART接收中断进不了。急。。