打印
[STM32F1]

为什么程序单步仿真的时候才会出现想要的现象

[复制链接]
1295|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
azhangxingweia|  楼主 | 2017-8-31 15:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单步仿真才会有现象,直接运行就没有现象,小白求救
沙发
azhangxingweia|  楼主 | 2017-8-31 15:51 | 只看该作者
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
         
        My_USART1_Init();

  
                          if (res==0x31)
                        {
                                LED_Type1();
                        }
                        else if (res==0x32)
                        {
                        LED_Type2();
                        }
                        else if(res == 0x33)
                        {
                                LED_Type3();
                        }
            while(1);
               
}
        附上程序

使用特权

评论回复
板凳
gygp| | 2017-8-31 16:09 | 只看该作者
是不是对速度有要求?

使用特权

评论回复
地板
chenci2013| | 2017-8-31 16:09 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

你这个不是while循环的

使用特权

评论回复
5
suzhanhua| | 2017-8-31 16:10 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

res是串口接收数据吗?

使用特权

评论回复
6
hellosdc| | 2017-8-31 16:10 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

     while(1){
if (res==0x31)
                        {
                                LED_Type1();
                        }
                        else if (res==0x32)
                        {
                        LED_Type2();
                        }
                        else if(res == 0x33)
                        {
                                LED_Type3();
                        }
}
      

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
azhangxingweia + 1 很给力!
7
i1mcu| | 2017-8-31 16:10 | 只看该作者
把代码放在中断这么执行

使用特权

评论回复
8
mmbs| | 2017-8-31 16:11 | 只看该作者
这个单步调试才能接收大数据的。

使用特权

评论回复
9
houjiakai| | 2017-8-31 16:11 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

最简单的就是放在中断函数里面。

使用特权

评论回复
10
10299823| | 2017-8-31 16:12 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

while(1)写错位置了。

使用特权

评论回复
11
cehuafan| | 2017-8-31 16:12 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

res是什么变量?

使用特权

评论回复
12
gygp| | 2017-8-31 16:13 | 只看该作者
单步调试的时候速度能够满足要求?

使用特权

评论回复
13
chenci2013| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

应该是循环执行才对的。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
azhangxingweia + 1 很给力!
14
suzhanhua| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

使用的中断执行 的对不对?

使用特权

评论回复
15
hellosdc| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

这个程序只能执行一次?

使用特权

评论回复
16
i1mcu| | 2017-8-31 16:13 | 只看该作者
         if (res==0x31)
                        {
                                LED_Type1();
                        }
                        else if (res==0x32)
                        {
                        LED_Type2();
                        }
                        else if(res == 0x33)
                        {
                                LED_Type3();
                        } 放在中断里面就行。

使用特权

评论回复
17
mmbs| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

没有等待接收到数据程序就执行完成了。

使用特权

评论回复
18
houjiakai| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

程序存在问题,不能循环执行。

使用特权

评论回复
19
10299823| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

要把while放在函数里面才行。

使用特权

评论回复
20
cehuafan| | 2017-8-31 16:13 | 只看该作者
azhangxingweia 发表于 2017-8-31 15:51
int main(void)
{       
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

只有res接收到才能判断函数代码。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

106

帖子

1

粉丝