问题太长了..所以直接发空间了..http://hi.baidu.com/crescent_/item/b8e6e827342e1ff850fd87d9
请移步 .. 不胜感激 谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
不好意思再问一下哦..
1.这个|符号在这里是什么意思,,,,
ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ADC_START | ch;
2. ADC_CONTR &= !ADC_FLAG 这句是什么意思呢? 清零...??
|是按位或的符号,运算法则是有1则1,全0为0。既1|1=1,1|0=1,0|1=1,0|0=0。|的用法还可以用作组合。下面那串表达式的意思是把power,speedll,start,ch组合在一起。之所以说是组合,因为0x40|0x05=0x45.看起来像是把4和5组合在一起。单片机里有些寄存器不能进行位寻址,比如这个ad,直接设adc_power=1并不能起作用,必须把它的值和其他同属一个寄存器的变量组合在一起,然后赋值给adc_contr。第二问,这就是把flag清零的意思,因为!是按位取反,无论flag是0还是1,取反后都会和原来的相反,然后&是按位与,运算是0&1=0,1&0=0。由此可知无论flag为何值,结果都为0。