我在协议栈中修改了串口0 你能中断唤醒休眠,并且能从串口0 读出正确的数据,但是串口1就不行,我串口0的修改如下:在休眠前加入
P0SEL &= ~0X20; //外P0_5为通用接口模式
GPIO P0DIR &= ~0X20; //P0_5为输入
P0IEN |= 0X20; //开P0_5的IO中断使能
IEN1 |= 0X20; //开P0的中断
休眠后理解恢复到串口的原始状态,
P0SEL = 0x3C;
GPIO P0DIR =0X01;
P0IEN = 0X00;
IEN1 = 0X04;
hal_board_cfg.h头文件中,修改如下:
注掉原有的
#define HAL_UART_ISR 1//重新定义为ISR模式
这样就能从休眠中唤醒,
我串口1修改如下:在不休眠的时候,通过修改
hal_board_cfg.h头文件中,
#define HAL_UART_ISR 2//重新定义为ISR模式
这样就能正常读出数据,
加入休眠,我修改如下:
在休眠前加入
P1SEL &= ~0X80; //外P1_7为通用接口模式 GPIO P1DIR &= ~0X80; //P1_7为输入
P1IEN |= 0X80; //开P1_7的IO中断使能 IEN2 |= 0X80; //开P1的中断
休眠后醒来后立即回复原始状态:
P1SEL ^= 0x80;
GPIO P1DIR ^= 0X17;
P1IEN &= ~ 0X00;
IEN2 &= ~0X09;
但是这样不能从休眠中唤醒,更不要提读出数据了,请各位大神帮我看看是不是串口1的配置 出现了问题,谢谢
bo fu:
求大神帮帮忙啊 、。。。。。。