|
本帖最后由 888hhh 于 2021-12-10 19:45 编辑
void datapros(){
u16 temp,t;
static u8 i;
if(i==50)
{
i=0;
temp = Read_AD_Data(0x94); // AIN0 电位器
}
// temp*=2;
disp[0]=smgduan[temp/1000];//千位 disp[1]=smgduan[temp%1000/100];//百位 disp[2]=smgduan[temp%1000%100/10];//个位 disp[3]=smgduan[temp%1000%100%10]; }
//问题:当把temp*=2;注释掉,数码管显示正常。把temp*=2;取消注释,数码管乱显示,说明temp并不是乘了2
//如果改成下面这样则正常
void datapros()
{
u16 temp,t; static u8 i;
if(i==50)
{
i=0;
temp = Read_AD_Data(0x94); // AIN0 电位器
}
t=temp;
t*=2;
disp[0]=smgduan[t/1000];//千位 disp[1]=smgduan[t%1000/100];//百位 disp[2]=smgduan[t%1000%100/10];//个位 disp[3]=smgduan[t%1000%100%10]; }
//问题:当把temp赋值给另一个变量,对另一个变量操作则数码管显示正常。
//有没有大佬知道为什么,我感觉是硬件上的道理
//源文件为 普中51单核A5开发板 例程:实验27:AD模数转换
|
|