在单片机程序中,给IO口赋值,|=,&=和=,这些赋值有什么区别,什么情况下该用哪个???
发布网友
发布时间:2022-05-15 18:22
我来回答
共2个回答
热心网友
时间:2024-02-26 07:35
首先要弄清楚io口的赋值!!
使用并行输数据只能八位。所有,oxfffe要取出高八位和低八位!!
因为不存在取单独某位的问题,所有可以使用简单的移位语句
p1=(oxfffe<<8);
//左移八位,得p1=oxfe
p2=(oxfffe>>8);
//右移8位,得p2=oxff
你这个程序的错误在于,p1口使用并行方法输送数据只能一次传输8位,而oxfffe位十六位,溢出错误!!
热心网友
时间:2024-02-26 07:36
"
|
",
"
&
",这两个符号分别是按位或和按位与的意思。
例如:char
a,b,c;
a|=b;c&=a;b=c;
a|=b:表示a和b按位或的值赋给a;
c&=a:表示c和a按位与的值赋给c;
b=c;就是把c的值赋给b;