目录
1.原理图
2.DataSheet查阅及分析
上述电路中,EINT0用于置锁整个开发板的5V电源,EINT0为高时,5V电源被使能,为低时5V电源关闭。在实现休眠唤醒时,配合EINT1中断,通过POWER键实现中断,继而实现休眠唤醒。
EINT0管脚和PS_HOLD管脚复用,当PS_HOLD_CONTROL寄存器的第0位设置为高时,使能PS_HOLD管脚,这时,EINT0相关寄存器将无效,该管脚将完全有PS_HOLD_CONTROL寄存器控制。
将PS_HOLD_CONTORL的第8,9位设置为1时,该IO口为高,设置为0,为低。
3.代码编写
说明:led.S中将PS_HOLD_CONTROL的第0,8,9位置高,即将该IO设置为PS_HOLD的模式同时将IO口拉高,实现5V电源置锁。如果去掉该部分,那么开发板只能长按PWR键不放,才能维持电平。
//给开发板置锁,5V电源使能
ldr r0,=0xE010E81C
ldr r1,[r0]
orr r1,r1,#0x300
orr r1,r1,#0x1
str r1,[r0]
Makefile、mkv210_image.c文件参见链接博客
4.参考资料
1.ORR指令
2.LDR指令
3.LDR指令2