永发信息网

单片机程序问题解读!

答案:1  悬赏:10  手机版
解决时间 2021-04-20 02:23
  • 提问者网友:两耳就是菩提
  • 2021-04-19 17:16
单片机程序问题解读!
最佳答案
  • 五星知识达人网友:空山清雨
  • 2021-04-19 18:45
testb=dat&0x01; 这个是什么意思? dat 和0x01进行与运算,也就是清掉DAT上的高七位,保留最后一位。

dat=dat>>1; 这个是什么意思? DAT右移一位

if(testb) //写1这个是什么意思? 如果TESTB为非0,执行IF语句;

ds=1;i++;i++;这个是什么意思?为什么有两个i++ i++是I=I+1,两个相当于i=i+2;

dat=(j<<7)|(dat>>1);这个是什么意思?j左移7位, dat右移一位,然后相与,你的程序好长,而且不完整,没细看J DAT是什么数据,还不知道为何要移位相与,估计这程序的结果是大于8位的。

a=tempread();

b=tempread();
temp=b;
temp<<=8;这个是什么意思?
temp=temp|a;这个是什么意思?
a为读取的低8位
b为高8位
后面两名是把高低8位拼成一个16位数

好长的程序,好长的注释,终于注完了追问dat=(j<<7)|(dat>>1);这个是什么意思?j左移7位, dat右移一位,然后相与 这个是相或吧?
temp<<=8;具体是什么意思?谢谢!追答dat=(j<<7)|(dat>>1)是相或,不好意思,写错了

temp<<=8; 把TEMP低8位移到高8位

b为高8位
后面两句是把高低8位拼成一个16位数追问就是相当于temp=temp<<8?
i=i&(~((0x01)<<(num)));这个是什么意思????追答就是相当于temp=temp<<8? 是的,

i=i&(~((0x01)<<(num)));这个是什么意思????这一句是转换为数码管输出代码,为什么要这么运算,这要根据你 的数码管接线决定追问我的意思是~ 和<<是如何运算的,就是一个数据转换的过程,就是这个语句不知道怎么看追答先左移再取反啊,有括号的,你仔细数括号
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯