关于SYSTICK的问题

2019-07-20 12:32发布

本帖最后由 Mojo 于 2017-8-17 09:49 编辑

       我用原子哥的HAL库版本的教程自己新建了一个工程模板,然后复制了原子哥的“跑马灯试验的原代码到main函数里,同时复制了LED.c里面的代码,运行之后发现SYSTICK并未运行,卡在了delay_us的while循环里,因为tnow和told都为零(SYSTICK未运行)。 经过一番研究之后发现,我在delay.c的函数systick时钟那里加上HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000U)函数之后,SYSTICK就可以正常运行了,但是我在原子哥的”跑马灯试验“原代码里并未发现使用这段函数,并且HAL_Init();里面也已经包含了这段函数,我自己建的模板里的HAL_Init()同样包含了此段函数。
       想不明白为什么原子哥的原代码里没有这段函数也可以让SYSTICK工作,而我的模板和代码与原子哥的都是一样的我的就不能让SYSTICK工作。

在旺旺上找了技术支持,未果,望有知道为什么的朋友告知一下。十分感谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
李小龙
1楼-- · 2019-07-22 22:53
Mojo 发表于 2017-8-17 12:39
麻烦帮忙看一下,由于格式和大小限制,我弄了三个分卷,有两个分卷需要把扩展名改一下。十分感谢,这就是 ...

文件损坏,解压不出来。有百度 {MOD}吗?上传 {MOD},然后分享链接给我
Mojo
2楼-- · 2019-07-23 04:53
 精彩回答 2  元偷偷看……
李小龙
3楼-- · 2019-07-23 05:13
Mojo 发表于 2017-8-17 14:21
http://pan.baidu.com/s/1qYhr6Ja

建议你硬件仿真下,查看systick寄存器,因为我没有F4的板子,没办法帮你仿真。
Mojo
4楼-- · 2019-07-23 09:45
本帖最后由 Mojo 于 2017-8-17 16:25 编辑
李小龙 发表于 2017-8-17 15:51
建议你硬件仿真下,查看systick寄存器,因为我没有F4的板子,没办法帮你仿真。

我试着不用HAL_SYSTICK_Config()而直接给SysTick的LOAD寄存器赋了个值,把CTRL寄存器便能,也是可以让SYSTICK成功跑起来,我再找找看问题到底出在哪里再说。我一直都是连着板子仿真的。

一周热门 更多>