想向各位单片机高手请教一个问题哈。拜谢!

P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF;这段程序在很多模块里都会出现,但我太不明白为什么一定要这么设置,而且对它的注释都是//下面六行程序关闭所有的IO口。这六句不是将所有的IO口都设置为输出高电平吗?不明白为什么说成是:下面六行程序关闭所有的IO口......还有下面这句 P6DIR |= BIT2;P6OUT |= BIT2;注释是: //关闭电平转换。也不明白为什么这么注释。这句不是将P6.2口设置为输出高电平吗?而且前面六句不是已经将所有IO 口都设置成输出高电平吗?又为什么重复这个设置?
2026年09月26日 02:18
有1个网友回答
网友(1):

你看下你的单片机pdf 当方向寄存器置一时 是配置成输入还是输出 不同的单片机不一样 PIC单片机的方向寄存器置一是配置成输出 而AVR的正好相反
反正你的这句P6DIR = 0XFF;P6OUT = 0XFF 意思就是将PORT6口的方向寄存器置一 然后输出高电平
这些语句的目的是用来初始化端口 给它一个状态 如果不给它一个状态 它的输出或者输入就会存在不确定性 不利于查找错误