HR7P169-IO初始化
IO初始化 东软载波8位单片机HR7P169
IO端口初始化步骤:
-
将使用的IO端口设置数字或模拟端口,需要用到ANSL和ANSH(数模端口控制寄存器—AD转换章节)[ANSL和ANSH归类在A/D转换的寄存器中,应该是设计上的缺陷]
-
设置输入输出方向、 弱上拉下拉
-
设置输出电平
例子:
void MCUInit(void)
{
//该芯片需在配置字中设置系统时钟,默认时为INTOSCIO 4MHz模式,此工程时钟为INTOSCIO 2MHz模式
ANSL2 = 1; //PA3设置为数字端口
.........
//设置PA3、PA4、PA5的输入输出方向
PAT3=0; //设置方向:0—输出;1—输入
......
//设置PA3、PA4、PA5的上拉、下拉控制
PAPU3=0; //设置上拉:0—禁止;1—使能
.......
PAPD3=0; //设置下拉:0—禁止;1—使能
.......
//初始化PA3、PA4、PA5的电平:低电平
PA3=0; //设置电平:0—低电平;1—高电平
.....
XXX_Init(); //XX引脚初始化函数
}
注意:将项目用的引脚放在一个IO初始化函数中进行配置,或者将其他功能的IO初始化作为子函数调用,原因:见数据手册的[4.5 I/O端口操作注意事项]
当执行以端口寄存器为目标的算术或逻辑运算指令(除位操作指令)时,芯片实际执行读-修
改-写过程,即先读取该组全部I/O 端口的电平,修改后再写回端口寄存器。位操作指令对I/O
的修改操作只影响选定的位,对同组其它I/O 不影响。因此建议用户对单个I/O 的修改采用位
操作指令。此外在I/O 复用功能使能和关闭时,应充分考虑当前I/O 端口的输出寄存器值,并
判断是否需要重新对这些I/O 端口进行初始化赋值

浙公网安备 33010602011771号