打印
[AVR单片机]

AVR MEGA16如何定义某一寄存器的某一位?

[复制链接]
2485|4
手机看帖
扫描二维码
随时随地手机跟帖
沙发
jbb0523| | 2009-7-27 10:56 | 只看该作者

怎么样都可以的。。。

比如说你要操作PA0口,置为输出高电平:
DDRA|=0X01;
PORTA|=0X01;
这样就可以了,不影响PA口其它位的。。。

使用特权

评论回复
板凳
void_c| | 2009-7-27 12:28 | 只看该作者

用位域

用位域 

#define LED               IO_BIT_ALIAS(&PORTB,2) 

  LED=0; 
  LED=1; 
  LED=!LED;  
 

使用特权

评论回复
地板
avrvi| | 2009-7-28 10:25 | 只看该作者

这个是ICC下面的


#include <iom16v.h>
#include <macros.h>

typedef struct BYTE_BIT
{
unsigned BIT0:1;
unsigned BIT1:1;
unsigned BIT2:1;
unsigned BIT3:1;
unsigned BIT4:1;
unsigned BIT5:1;
unsigned BIT6:1;
unsigned BIT7:1;
}BYTEBIT;

# define PORTA_BIT   (*((volatile BYTEBIT *)&PORTA))
# define _PA0   PORTA_BIT.BIT0

void main(void)
{
_PA0=1;
}
相关链接:http://www.avrvi.com

使用特权

评论回复
5
bear15888| | 2009-7-31 10:48 | 只看该作者

4楼,是自己在ICC下写的结构体吧!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

484

帖子

0

粉丝