你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8L151G6串口进不了中断

[复制链接]
DASAL 提问时间:2017-8-22 16:53 /
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;
}


以上是我对串口的操作,发送的我没有贴上来,因为发送正常,就是串口接收,我想要用中断来接收,可测试发现不管怎么折腾都进不了中断,疑惑,求解!

收藏 评论8 发布时间:2017-8-22 16:53

举报

8个回答
DASAL 回答时间:2017-8-22 17:22:27
哦,原来是没使能接收。但是问题依然存在,现在的问题是接收了数据后不知道在哪里死机了。自己顶一下,希望高手来指导
DASAL 回答时间:2017-8-23 13:45:30
谁来救救我啊,现在一接收数据就不知道死在哪个位置了
yahya哈克 回答时间:2017-8-24 11:49:17
中断处理函数,不要用 return 试试

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

yahya哈克 回答时间:2017-8-24 11:49:52
还要清中断标志。
DASAL 回答时间:2017-8-24 15:20:55
yahya哈克 发表于 2017-8-24 11:49
还要清中断标志。

清中断标志这个我后面加了,也没有效果
DASAL 回答时间:2017-8-24 15:22:22
yahya哈克 发表于 2017-8-24 11:49
中断处理函数,不要用 return 试试

应该不关return的事,看那样子是根本没有进中断,如果进了,设置的蜂鸣会响的,而现在根本就不响
hyxzs 回答时间:2018-1-12 17:25:20
楼主,问题解决了吗,我也遇到同样的问题。。。。
feixiang20 回答时间:2018-1-16 17:57:08
循环中用中断检查
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版