完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
上篇帖子写的开发环境搭建,编译并下载了程序,看到三个LED指示灯全部点亮, 当时并没有看主程序,现在看了主程序发现不对了, 按照main函数的意图,500ms变化,三个LED灯应该交替闪, 我下载的却是全亮, 哪里出问题了呢? 我在程序主循环中加入了打印函数
再次下载到板子中,串口一直在输出 enter。 难道HAL_Delay(500);不是500ms吗? 我把Delay加大,再加大,一直到HAL_Delay(1600000); 这时候LED灯的现象就跟程序的意图一样了,但是为什么会这样呢? 我对例程的改变就是Rebuild有一个警告,我删除了两行代码。
一直在计算这个HAL_Delay(500);函数延时多久的问题, 还有删除这两行代码的影响,查了这个是SysTick控制及状态寄存器(地址:0xE000_E010) 经过验证,确实是这两句代码决定系统延时的,
在此请教各位大佬,深度解释一下,读不读这个地址,为什么程序在此停留的时间不一样? 他又不是一个while,如果加个while,写成下面那样,我觉得才是现象该有的代码。
|
|
相关推荐
2个回答
|
|
|
|
|
|
HAL_Delay的源码那里有说明么
|
|
|
|
只有小组成员才能发言,加入小组>>
250个成员聚集在这个小组
加入小组【联盛德W806-KIT开发板试用体验】使用官方SDK,并点亮所有GPIO端口
3788 浏览 0 评论
【联盛德W806-KIT开发板试用体验】+硬件SPI驱动ST7780_240X240_LCD
2965 浏览 1 评论
3909 浏览 2 评论
【联盛德W806-KIT开发板试用体验】+ GPIO驱动LED灯
2847 浏览 0 评论
【联盛德W806-KIT开发板试用体验】彩色OLED屏的显示驱动
2618 浏览 0 评论
674浏览 0评论
651浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 01:00 , Processed in 0.451654 second(s), Total 49, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号