STM8L151G6串口进不了中断
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 = USART_ReceiveData8(USART1); //Store the received byte in RxBuffer
UART0_Send_Byte(RxBuffer);//************发回接收到的数据
return;
}
以上是我对串口的操作,发送的我没有贴上来,因为发送正常,就是串口接收,我想要用中断来接收,可测试发现不管怎么折腾都进不了中断,疑惑,求解!
哦,原来是没使能接收。但是问题依然存在,现在的问题是接收了数据后不知道在哪里死机了。自己顶一下,希望高手来指导 谁来救救我啊,现在一接收数据就不知道死在哪个位置了:'(:'(:'(:'( 中断处理函数,不要用 return 试试 还要清中断标志。 yahya哈克 发表于 2017-8-24 11:49
还要清中断标志。
清中断标志这个我后面加了,也没有效果 yahya哈克 发表于 2017-8-24 11:49
中断处理函数,不要用 return 试试
应该不关return的事,看那样子是根本没有进中断,如果进了,设置的蜂鸣会响的,而现在根本就不响 楼主,问题解决了吗,我也遇到同样的问题。。。。 循环中用中断检查
页:
[1]