永发信息网

PIC单片机中C语言程序中|=和&=是输入输出的意思么

答案:4  悬赏:10  手机版
解决时间 2021-04-03 23:57
  • 提问者网友:孤山下
  • 2021-04-03 15:06
PIC单片机中C语言程序中|=和&=是输入输出的意思么
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-04-03 15:35
和c51是一样的咯,位与和位或追问你对PIC16F690单片机有研究么,看过资料吧,我就想知道TRISA|= (BIT2 ); 为什么就是RA2输入。。追答TRISA是方向寄存器咯,控制io方向的,置为1或0变为输入或输出咯追问你可能没太明白我的意思,位运算返回值是二进制数,我是想知道TRISA与BIT2位与后,TRISA2怎么等于1?TRISA和BIT2是默认值么,默认值是多少。。追答例如bit2=0x04;
那么TRISA|= (BIT2 ); 就是将trisa的第三位置为1,就这么简单追问可是我不知道BIT2等于几啊,就算BIT2=0X 0000 0100,我也不知道TRISA等于几啊,也没把他置1,别人写的程序也没问题,运行无故障,所以我以为他们都有初值或者固定值或者默认值之类的,我就是想问这个。。追答╮(╯▽╰)╭
菜鸟就是这个样子地
初始化的话时候可以TRISA=0x00,那么你就知道TRISA等于几咯,至于BIT2=多少,头定义里有的追问这个在初始化里真心没找到有初值,头定义里也没有BIT2,算了,谢谢你了,我还是问他本人吧
全部回答
  • 1楼网友:从此江山别
  • 2021-04-03 17:56
是位运算的意思
  • 2楼网友:过活
  • 2021-04-03 16:18
这些都是简单的C语言,你好好看看运算符相关章节内容
a |= b 相当于 a = a | b
a &= b 相当于 a = a & b追问位运算返回值是二进制,我是想问TRISA和BIT2默认值是多少,TRISA和BIT2位与后怎么就是:TRISA2=1追答1、pic单片机没用过,不过针对八位单片机BIT2应该就是等于:(unsigned char )(1<<2)也就是0x04(二进制为:00000100b)。
2、你上面有一处误解:“位运算返回值是二进制”,在寄存器和内存中,数据都是以二进制存储的,没有运算返回值是二进制还是八进制还是十进制亦或是其他的说法。
3、针对于:“TRISA和BIT2位与后怎么就是:TRISA2=1”,TRISA我姑且认为是寄存器并且TRISA2为TRISA的第2位,进行&操作是将TRISA的第二位置位为1,所以就有“TRISA和BIT2位与后怎么就是:TRISA2=1”
4、不客气~
  • 3楼网友:十年萤火照君眠
  • 2021-04-03 16:00
一般用 |= 置位,用 &= 清除位
举个例子:
BIT3 = 0x04;
PORTA |= BIT3;
PORTA &= ~BIT3;
实在不清楚可以拿笔算一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯