AVR位操作记录
时间:11-22
来源:互联网
点击:
说实话,偶是头一次遇到这么用的,Mark。
我自己写的,定义好这个后,只要再定义端口就好了,
比如
#defineKEY1 A,2
#defineLED_RED A,3
if(PORT_IN(KEY1))
{
PORT_OUT1(LED_RED);
}
ICCAVR编译出的代码已经是位操作了...读起来也很直观
#defineBIT(x) (1<(x))
#defineGET_PORT(x,bit) (PORT##x)
#defineGET_PIN(x,bit) (PIN##x)
#define GET_BIT(x,bit) (bit)
#definePORT_OUT0(portx_bit) (GET_PORT(portx_bit)&=~BIT(GET_BIT(portx_bit)))
#definePORT_OUT1(portx_bit) (GET_PORT(portx_bit)|=BIT(GET_BIT(portx_bit)))
#definePORT_IN(portx_bit) (GET_PIN(portx_bit)&BIT(GET_BIT(portx_bit)))
===================================我自己写的,定义好这个后,只要再定义端口就好了,
比如
#defineKEY1 A,2
#defineLED_RED A,3
if(PORT_IN(KEY1))
{
PORT_OUT1(LED_RED);
}
ICCAVR编译出的代码已经是位操作了...读起来也很直观
AVR位操 相关文章:
- IAR for AVR 学习笔记(3)--位操作(11-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)