历史上的今天
今天是:2025年02月16日(星期日)
2020年02月16日 | IAR调试stm8单片机时延时函数被优化的问题
2020-02-16 来源:eefocus
IAR优化等级选到最高,调用以下延时函数时会被编译器直接优化,无法达到延时的效果。
void delay_n_ms(u32 time)
{
u32 m = 0;
u16 n = 0;
for(;m < time;m++)
{
for(n = 0;n < 2720;n++)//16Mhz
{
;
}
}
}
在函数的变量前加volatile关键字后问题解决。
void delay_n_ms(u32 time)
{
volatile u32 m = 0;
volatile u16 n = 0;
for(;m < time;m++)
{
for(n = 0;n < 2720;n++)//16Mhz
{
;
}
}
}
上一篇:stm8 蜂鸣器BEEP
史海拾趣
|
小女子我初学单片机,很多不懂得地方,向大家请教下啊 关于使用外部中断点亮发光二极管的问题,为实现同一功能,写了两方案,具体程序和问题如下 方案一: ORG 0000H LJMP MAIN ORG 0003H LJMP INT MAIN: SETB EA /*首先开启总中 ...… 查看全部问答> |
|
[转载] 簡易開核 輕鬆暢玩 ASUS M4A89GTD PRO/USB3 (存開箱) AMD 現今最夯的口號 我想還是 核心動力全開 小弟也藉由這次開核風氣 入手了M4A89GTD PRO/USB3 入手也一陣子了 就來發個開箱吧 本次的主角出現了 X2 555 與M4A89GTD PRO/USB3 這次華碩用的主機板的彩盒還滿亮眼的 在一張,把閃 ...… 查看全部问答> |
|
现在需要用Waveout函数系列来实现播放wav文件的功能,播放功能已经实现,现在实现快进的功能的时候出现了一个问题,就是在按下快进按钮的时候, 原来已经读入缓冲区的音频内容还在, 请问这时候如何去清除缓冲区内的音频内容.… 查看全部问答> |
|
我的平台是CEPC X86,使用PB4.2自带的CEPC BSP定制的,系统可以正常启动。 但是,当桌面启动后,就弹出一个对话框要我设置DHCP或者静态IP,对话框的标题是:\'Mycrosoft null Ethernet Miniport Driver\' settings 当我设置DHCP时,确实可以得到 ...… 查看全部问答> |
|
用串口与MCU通信,用57600波特率,8位数据,1位停止位,无校验位。mcu端发送一个数据包号请求命令(共10个字节长度),wince端收到后,解析出包号,把对应包号的数据发送给MCU(共40个字节长度)。mcu端收到数据后继续请求下一包数据 ...… 查看全部问答> |
|
此次STM32的技术研讨会的一个重要的部分是,与使用STM32的工程师们面对面的讨论一些大家普遍碰到的问题。STM32是个新产品,Cortex-M3也是个新产品,有很多应用上的概念与大家原有的概念是相通的,也有一些概念是有些人没有碰到过的,我们希望 ...… 查看全部问答> |




