您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PICC编程的位操作示例程序 正文
PICC编程的位操作示例程序

PICC编程的位操作示例程序

点击数:7569 次   录入时间:03-04 11:40:08   整理:http://www.55dianzi.com   PIC单片机
a=100; 
while(1){;} 

六:五的方法还是烦琐,可以用粘贴符号的形式来简化它. 
#include<pic.h> 
typedef struct { 
unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; 
} bits; 
#define _paste(a,b) a##b 
#define bitof(var,num) (((bits *)&(var))->_paste(b,num)) 
char myvar; 
char a,b; 
void main(){ 
a=bitof(myvar,0); 
b=bitof(myvar,1); 
if(bitof(myvar,7)) 
a=255; 
else 
a=100; 
while(1){;} 

有必要说说#define _paste(a,b) a##b 的意思: 
此语句是粘贴符号的意思,表示把b 符号粘贴到a 符号之后. 
例子中是 
a=bitof(myvar,0);--->(((bits *)&(myvar))->_paste(b,0))--->(((bits *)&(var))->b0)可以看出来,_paste(b,0)的作用是把0 粘贴到了b 后面,成了b0 符号. 
总结:C语言的优势是能直接对低层硬件操作,代码可以非常非常接近汇编,上面几个例子的位操作代码是100%的达到汇编的程度的.另一个优势是可读性高,代码灵活.上面的几个位操作方法任由你选,你不必担心会产生多余的代码量出来. 

上一页  [1] [2] 


本文关键字:程序  PIC单片机单片机-工控设备 - PIC单片机