共2条
1/1 1 跳转至页
nbsp,nbsp c语言编译的问题 头痛!!

问
一个很简单的程序
#include "config.h"
uint32 Adc_data;
int main(void)
{
Adc_data=0x89;
Adc_data=Adc_data*0x04;
while(1)
{
Adc_data=0x89;
Adc_data=Adc_data*0x04;
Adc_data=Adc_data<<1;
Adc_data=Adc_data;
}
return(0);
}
为什么在单步运行时Adc_data的值不正确程序也不能顺序执行
如果把while中的
Adc_data=0x89;
Adc_data=Adc_data*0x04;
的两句去掉就可以正常运行了这是怎么回事呀? 答 1: 你的程序在编译的时候会被ADS优化掉的。 答 2: 1如果是这样被优化掉那如果有中断把它打断话那不是会出错吗? 答 3: 这样定义 volatile uint32 Adc_data;
#include "config.h"
uint32 Adc_data;
int main(void)
{
Adc_data=0x89;
Adc_data=Adc_data*0x04;
while(1)
{
Adc_data=0x89;
Adc_data=Adc_data*0x04;
Adc_data=Adc_data<<1;
Adc_data=Adc_data;
}
return(0);
}
为什么在单步运行时Adc_data的值不正确程序也不能顺序执行
如果把while中的
Adc_data=0x89;
Adc_data=Adc_data*0x04;
的两句去掉就可以正常运行了这是怎么回事呀? 答 1: 你的程序在编译的时候会被ADS优化掉的。 答 2: 1如果是这样被优化掉那如果有中断把它打断话那不是会出错吗? 答 3: 这样定义 volatile uint32 Adc_data;
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
嵌入式LinuxC语言程序调试和宏使用技巧被打赏50分 | |
让代码中包含最新的编译时间信息被打赏50分 | |
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 |