OpenEdv-开源电子网

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

最简单的程序都会卡死!!!大佬们快来看!

[复制链接]

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-1-22
在线时间
20 小时
发表于 2021-8-3 19:02:42 | 显示全部楼层 |阅读模式
1金钱
今天测试IIC通信的时候,忽然发现在dealy_ms程序里死了,我想着会不会配置没对,找了些资料发现没问题,我为了验证不是板子的问题,换了板子,debug的时候发现还是这个问题。
然后我用最简单的亮灯实验,在debug的时候发现还是这个问题。
我实在是没搞懂,希望大家可以帮我看下。
有好的建议的可以发到我邮箱595042036@qq.com,被这个问题恶心到了。我三种延迟方式都试过了,粗延时,定时器中断,和非中断。一通百通的,我下面给大家看非中断延迟的。

对卡死在这个while了。
另外老哥们知道怎么AT原子哥的帮我下,感激不尽。

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

使用道具 举报

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-1-22
在线时间
20 小时
 楼主| 发表于 2021-8-3 19:04:27 | 显示全部楼层
void delay_ms(u16 nms)
{                                     
        u32 temp;                  
        SysTick->LOAD=(u32)nms*fac_ms;                                //时间加载(SysTick->LOAD为24bit)
        SysTick->VAL =0x00;                                                        //清空计数器
        SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;        //开始倒数  
        do
        {
                temp=SysTick->CTRL;
        }while((temp&0x01)&&!(temp&(1<<16)));                //等待时间到达   
        SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;        //关闭计数器
        SysTick->VAL =0X00;                                               //清空计数器                      
}
图发不出来,我截一段代码给你们,死在while这里了。
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2020-5-5
在线时间
23 小时
发表于 2021-8-3 19:18:25 | 显示全部楼层
delay头文件加了吗
回复

使用道具 举报

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-1-22
在线时间
20 小时
 楼主| 发表于 2021-8-4 10:04:58 | 显示全部楼层
sin114 发表于 2021-8-3 19:18
delay头文件加了吗

加了delay的头文件了
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2021-8-4 11:58:58 | 显示全部楼层
帮顶  
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-8-4 17:44:01 | 显示全部楼层
查一下 SysTick->CTRL的值

回复

使用道具 举报

8

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
145
金钱
145
注册时间
2018-1-22
在线时间
20 小时
 楼主| 发表于 2021-8-10 11:00:54 | 显示全部楼层
edmund1234 发表于 2021-8-4 17:44
查一下 SysTick->CTRL的值

放着没动它,,,几天后自己好了,,,太奇怪了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 11:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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