8H8K64U, P30 P31 休眠设置问题
大家好p30p31 与蓝牙通信
p32下降沿唤醒
printf("休眠.\r\n");
P30=0;P31=0;
P32=1;
IT0 = 0; //使能INT0上升沿和下降沿中断
//IT0 = 1; //使能INT0下降沿中断
EX0 = 1; //使能INT0中断
EA = 1;
//不能配置高阻输入,不能休眠
PCON |= 0x02; //Powerdown
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
printf("唤醒.\r\n");
P32=0;
现在能正常休眠唤醒 但唤醒后不能与蓝牙通信。
不设置P30=0;P31=0; 休眠后耗电较大。怎样设置比较好
8H8K64U的串口可以 9600以下正常唤醒,数据不丢失 他的蓝牙芯片 耗电大 休眠后用mos管断电了。断正极,负极一直连着。但8h8k64u p30p31 开始漏电 P30可以高阻输入,P31可以开漏
你没原理图的PDF发上来,大家不好帮你分析 漏电400u 设p30=0;P31=0: 电流极小 就是唤醒后 不能通信
试了唤醒 ((void (code *) (void)) 0x0000) (); 代码 也不能解决 topofhill 发表于 2024-9-29 14:06
漏电400u 设p30=0;P31=0: 电流极小 就是唤醒后 不能通信
试了唤醒 ((void (code *) (void) ...
可以尝试更改io模式,都开高阻然后再休眠试试?
然后将通讯的发送部分,修改为发送前将txd改为准双向。 很神奇 P3M0 = 0x02; P3M1 = 0x03; 贴进去 休眠唤醒 通信都能正常了
电流还有40u topofhill 发表于 2024-9-29 14:27
很神奇 P3M0 = 0x02; P3M1 = 0x03; 贴进去 休眠唤醒 通信都能正常了
电流还有40u ...
检查外设是不是关的不彻底,比如ADC电源、USB电源、内部32K时钟、比较器
还有其他电路的耗电 王昱顺 发表于 2024-9-29 14:18
可以尝试更改io模式,都开高阻然后再休眠试试?
然后将通讯的发送部分,修改为发送前将txd改为准双向。 ...
刚试了下 printf("休眠.\r\n");
P3M0 = 0x00; P3M1 = 0x03;
P32=1;
IT0 = 0; //使能INT0上升沿和下降沿中断
//IT0 = 1; //使能INT0下降沿中断
EX0 = 1; //使能INT0中断
EA = 1;
PCON |= 0x02;
程序中开高阻,单片机不能休眠了 王昱顺 发表于 2024-9-29 14:18
可以尝试更改io模式,都开高阻然后再休眠试试?
然后将通讯的发送部分,修改为发送前将txd改为准双向。 ...
打印休眠后直接打印唤醒了
页:
[1]
2