你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

一个关于延时的怪问题

[复制链接]
qihao74 提问时间:2016-2-17 08:32 /
unit8_t   upstartadcn[2];

在定时器里设置
upstartadcn[0]++;
upstartadcn[1]++;

在主程序里
int main(void)
{
初始化设置


while(upstartadcn[0]<3);
while(upstartadcn[1]<2);

while(1)
{

}
}

程序会停在
while(upstartadcn[0]<3);
while(upstartadcn[1]<2);
不运行下去,定时器设置都没问题,不知道为什么
收藏 评论5 发布时间:2016-2-17 08:32

举报

5个回答
shaoziyang 回答时间:2016-2-17 09:04:01
在中断设置断电看看
回答时间:2016-2-17 09:05:48
upstartadcn[0]++;改成upstartadcn[0]= upstartadcn[0]+1;
有的编译器可能不认这个方法,楼主可以在定时器中断中看看upstartadcn[0]的值是否改变。
黄小狼 回答时间:2016-2-17 09:11:29
定时器有没有正确初始化呀?确定一下数据是不是在变化
kxajd001 回答时间:2016-2-17 11:25:36
采用数组,有没有给数组初始化
qihao74 回答时间:2016-2-18 08:06:28
问题解决,谢谢
原因不使用volatile修饰

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版