原子哥的 delay_ms()函数是否有问题啊?一直卡住,出不来。

2019-08-14 00:04发布

如题,我在程序开始时,先进行delay_init初始化,然后在代码中调用delay_ms()函数,一直仿真发现就一直卡住在此函数中出不来,
        do
        {
                temp=SysTick->CTRL;
        }while((temp&0x01)&&!(temp&(1<<16)));                //等待时间到达   


请问这样如何解决啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
阳光2260
1楼-- · 2019-08-14 18:00
正点原子 发表于 2017-9-20 00:24
仿真,看你的寄存器是否有变化

你好,仿真看了,寄存器R2和R15有变化,别的没变化。而且temp=SysTick->CTRL;语句的temp值一直为0x00000001,没有变化。
旺仔奶豆
2楼-- · 2019-08-14 19:47
帮顶!
正点原子
3楼-- · 2019-08-15 00:36
 精彩回答 2  元偷偷看……
阳光2260
4楼-- · 2019-08-15 02:01
正点原子 发表于 2017-9-21 01:09
如果temp一直不变,八成是你的初始化有问题。
你直接下载我们例程,行不行?

你好,我就是直接使用你们的例程的。我再看一下问题吧。
龙之谷
5楼-- · 2019-08-15 04:45
查找其它原因吧,这个函数没问题

一周热门 更多>