小白诚心请教
#include <iom16.h>
//#include <iomacro.h>
//#include <avr_macros.h>
void segg()
{
DDRA|=(1<PA3); //PA3设置为输出状态
DDRA|=(1<<4); //PA4设置为输出状态
DDRB=0xff; //PB口设置为输出状态
PORTB=0xff; //发送模码
PORTA|=(1<<3); //PA3输出高电平,DU拉高
PORTA&=~(1<<3); //PA3输出低电平,DU拉低,段选锁存
PORTB=0xff; //发送为选 关掉数码管显示
PORTA|=(1<<4); //PA4输出高电平,WE拉高
PORTA&=~(1<<4); //PA4输出低电平,WE拉低,位选锁存
DDRA|=(1<<2); //PA2设置为输出状态 用于LED流水灯控制IO口
PORTA&=~(1<<2); //PA2输出低电平,DU拉低,段选LED流水灯锁存
}
//延迟函数
void Delay(int i) //
{
unsigned long x=5000;
x*=i;
while(x--);
}
//主函数
void main()
{
unsigned char i=0;
segg(); //关数码显示管函数
while(1)
{
for(i=0;i<8;i++)
{
PORTB=~(1<<i); //逐个PB口输出低电平?
Delay(60); //适当延迟
}
}
}
为什么DDRA|=(1<<PA3); 编译时会报错PA3未定义,但是在头文件明明是定义了PA3 的 啊。如果改为DDRA|=(1<<3),就通过了啊? 求指点 |