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

查看: 5069|回复: 5

串口中断接收

[复制链接]

2

主题

0

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-4-20 17:44:24 | 显示全部楼层 |阅读模式
 
 
求解答:求帮助:我在中断接收函数里灭led2灯,发现,当我用串口调试助手给开发板发数据的时候,进入不了中断,即2灯不灭,但是当我按下GET_DOWN()||GET_LEFT()||GET_RIGHT()||GET_UP()这四个键中的一个时候(即让开发板先发送数据给pc机),就进入接收中断了,并且串口调试助手上会连续显示100多个a(即我先发送给pc机的数据),我怎么才能通过串口调试助手发送数据给开发板并且让它显示出来呢?
补充:特别说明处事始终进入不了的
 
 
接收中断函数:
void USART1_IRQHandler(void)
{
      //接收中断
       if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
       {     GPIO_SetBits(GPIOD, GPIO_Pin_7);
              USART_ClearITPendingBit(USART1,USART_IT_RXNE);
              Uart1_Get_Data=USART_ReceiveData(USART1);
              Uart1_Get_Flag=1;
 
       }
      
       //溢出-如果发生溢出需要先清空SR的溢出位,再读DR寄存器 则可清除不断入中断的问题
       if(USART_GetFlagStatus(USART1,USART_FLAG_ORE)==SET)
       {
              USART_ClearFlag(USART1,USART_FLAG_ORE);     //清溢出位
              USART_ReceiveData(USART1);                        //读DR
       }
}
 
 
 
主函数:
int main(void)
{
    u8 Uart1_Get_Data;
       u8 Uart1_Get_Flag;
    Uart1_Get_Flag=Uart1_Get_Flag;
       ChipHalInit();                //片内硬件初始化
       ChipOutHalInit();           //片外硬件初始化
 
    for(;;)
       {
        if(GET_DOWN()||GET_LEFT()||GET_RIGHT()||GET_UP())
              {
                     USART1_Puts("a");
              }
        if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==SET)  
              {               
                     GPIO_SetBits(GPIOA, GPIO_Pin_8); //特别说明
Uart1_Get_Flag=0;
              USART1_Putc(Uart1_Get_Data);                  
              }
       } 
}
回复

使用道具 举报

7

主题

62

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-1
发表于 2011-4-21 09:24:50 | 显示全部楼层

RE:串口中断接收

你这个(GET_DOWN()||GET_LEFT()||GET_RIGHT()||GET_UP())条件应该是外部中断吧,这部分的代码在哪呢。最好满足外部中断条件后置某标志位才好吧,你试试先用电脑发一个字节数据看看呢。感觉这个还有点象你的效果吧!
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-4-21 09:51:58 | 显示全部楼层

RE:串口中断接收

没有看到你对串口的初始化,另外,NVIC中断也要开启,很可能是没有开启中断向量列表的优先级和中断使能。
回复 支持 反对

使用道具 举报

19

主题

184

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2011-4-21 16:16:00 | 显示全部楼层

RE:串口中断接收

中断处理问题没有解决好,先看一个成功的例子,再在上面有目的的修改
回复 支持 反对

使用道具 举报

24

主题

591

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-2
发表于 2011-4-28 10:26:56 | 显示全部楼层

RE:串口中断接收

你的配置应该是不正确。
回复 支持 反对

使用道具 举报

3

主题

33

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2011-4-28 15:14:43 | 显示全部楼层

RE:串口中断接收

外部中断的问题,看看你的电路
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版