OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5313|回复: 3

串口控制问题,响应中途不能停止,必须执行完才能接收下一段指令

[复制链接]

7

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2017-8-16
在线时间
44 小时
发表于 2021-8-20 10:38:22 | 显示全部楼层 |阅读模式
1金钱
用串口实验程序增加了一点功能,如下   main.c如下
                       if(!( strcmp(USART_RX_BUF,"5") ) )  //BEEP OFF
                           {
                              LED_MODE_Init();
                              // BEEP=1;
                           }
                       if(!( strcmp(USART_RX_BUF,"6") ) )  //BEEP OFF
                       {
                          flag=1;
                       }


led.C如下


void LED_MODE_Init(void)
{
int i;

    for( i= 0 ;i < 50  ;i++  )
    {

      GPIO_ResetBits(GPIOE, GPIO_Pin_5);
      GPIO_SetBits(GPIOB, GPIO_Pin_8);

      delay_ms(300);

      GPIO_SetBits(GPIOE, GPIO_Pin_5);
      GPIO_ResetBits(GPIOB, GPIO_Pin_8);

      delay_ms(300);     

       if(flag)
       {
          flag=0;
          GPIO_ResetBits(GPIOB, GPIO_Pin_8);
          break;
       }

用串口发送指令时会按照模式响应,在响应的中途中断无法操作,模式结束后才可以接收  数字6   而且蜂鸣器会响,如何修改才能使程序执行中途就中断响应。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

592

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1458
金钱
1458
注册时间
2019-7-28
在线时间
137 小时
发表于 2021-8-20 15:09:14 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-8-21 01:35:31 | 显示全部楼层
你在中断里面搞个delay_ms 300, 不慢才怪
回复

使用道具 举报

16

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
524
金钱
524
注册时间
2020-5-9
在线时间
79 小时
发表于 2021-8-21 10:01:27 | 显示全部楼层
中断加这种延时当然要等待了
有事直接关注:单片机与FPGA,24h内回复
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-29 07:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表