完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void main(void)//*************************主函数
{ uint8 i; System_Init(); //PVD_Config(); __enable_interrupt();//**************开总中断 while (1) { /*Prompt_Tone(4); delay_ms(500); Prompt_Tone(0); delay_ms(500); Prompt_Tone(1); delay_ms(500); Prompt_Tone(2); delay_ms(500); Prompt_Tone(3); delay_ms(500); RLED_OFF(); delay_ms(500);*/ for(i = 0; i < 200; i++) { RLED_ON(); UART0_Send_Byte(i); delay_ms(500); RLED_OFF(); delay_ms(500); } } } void Uart_Init(void)//********************************中断初始化 { CLK_PeripheralClockConfig(CLK_Peripheral_USART1, ENABLE); GPIO_ExternalPullUpConfig(GPIOC, GPIO_Pin_3, ENABLE); USART_Init(USART1, (uint32_t)9600, USART_WordLength_8b, USART_StopBits_1,USART_Parity_No, (USART_Mode_TypeDef)(USART_Mode_Tx));//串口初始化 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//************开串口中断 USART_Cmd(USART1, ENABLE); } #pragma vector = USART1_RX_IRQn __interrupt void UART1_RX_IRQHandler(void) { BUZE(1);//***************蜂鸣 RxBuffer[0] = USART_ReceiveData8(USART1); //Store the received byte in RxBuffer UART0_Send_Byte(RxBuffer[0]);//************发回接收到的数据 return; } 以上是我对串口的操作,发送的我没有贴上来,因为发送正常,就是串口接收,我想要用中断来接收,可测试发现不管怎么折腾都进不了中断,疑惑,求解! |
|
相关推荐
2个回答
|
|
中断处理函数,不要用 return 试试
|
|
|
|
STM8L151G6串口进不了中断的原因可能有以下几点:
1. 中断使能未开启:在STM8L151G6的串口通信中,需要确保串口的接收中断使能位(CR2寄存器的RIEN位)和全局中断使能位(CR1寄存器的EA位)都已设置。 2. 中断优先级设置不正确:STM8L151G6的中断优先级需要正确设置,以确保串口中断能够被正确触发。请检查ITC_SPRx寄存器中的优先级设置。 3. 串口配置错误:确保串口的配置正确,包括波特率、数据位、停止位和奇偶校验位等。 4. 串口接收缓冲区溢出:如果串口接收缓冲区溢出,可能会导致串口中断无法触发。请检查串口接收缓冲区的状态,并在接收到数据后及时处理。 5. 中断服务函数未正确编写:请确保你的中断服务函数(如USART_RX_IRQHandler)已经正确编写,并在其中处理串口接收到的数据。 6. 中断标志位未清除:在中断服务函数中,需要清除相应的中断标志位(如USART_SR寄存器的RXNE位),以确保中断能够继续触发。 7. 硬件问题:如果以上步骤都检查无误,但串口中断仍然无法触发,可能是硬件存在问题。建议检查STM8L151G6的硬件连接和外围设备。 在你的代码中,已经开启了全局中断(`__enable_interrupt();`),但是还需要确保串口的接收中断使能位(CR2寄存器的RIEN位)已设置。此外,请检查你的中断服务函数是否正确编写,并在其中处理串口接收到的数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1865浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
647浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
517浏览 3评论
534浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 09:18 , Processed in 0.775509 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号