完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用cy8c6347系列,在debug下使用Cy_SysLib_Delay()貌似延时正常,但是在release下使用Cy_SysLib_Delay()延时产生了混乱,甚至有一些没有形成延时的情况,请问Cy_SysLib_Delay()在延时中具体做了什么事情,为什么会产生延时混乱?
|
|
相关推荐
1个回答
|
|
Cy_SysLib_Delay() 是 PSoC Creator 中的一个库函数,用于延时一段时间。延时的实现是通过循环来实现的,具体做的事情就是在一个循环中递减一个计数器,直到计数器减到零为止。这样就可以实现一段时间的延时。
延时混乱的原因可能有多个。以下是一些可能的原因: 1. 优化选项:在 Release 模式下,编译器会进行优化,可能会对循环进行优化导致延时不准确。在 Debug 模式下,编译器通常不会进行优化,因此延时比较准确。 2. 中断的影响:如果在延时期间发生了中断,中断可能会打乱延时的计数器,导致延时不准确。 3. 系统时钟的影响:延时的准确性受到系统时钟的影响。如果系统时钟频率改变,延时时间可能会产生变化。 要解决延时混乱的问题,你可以考虑以下几点: 1. 确保优化选项没有启用或者使用正确的优化选项。可以检查编译器的设置,确保不进行优化。 2. 避免在延时期间发生中断。可以在延时期间禁用中断或者对中断进行处理,保持切换的次数尽量少。 3. 考虑使用更精确的延时方法,比如使用定时器来实现延时。定时器可以提供更准确的时间基准。 总之,延时的准确性受到多个因素的影响,需要综合考虑。根据具体的应用场景和需求,选择合适的延时方法和调整相关的设置。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
787 浏览 0 评论
使用Keil建立完整的工程,并使用外部中断0触发数码管显示903
1476 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-使用AHT20进行环境监测之AHT20传感器介绍
1216 浏览 0 评论
900 浏览 0 评论
963 浏览 1 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11866 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:29 , Processed in 0.517164 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号