请问如何修改成单独USB+三个插孔独立控制
Closed this issue · 2 comments
tonydongguwpi commented
希望总开关能单独控制USB
APP是搞定了
但是实体按键有些问题
依次打开 开关1,开关2,开关3
当按下总开关时 则所有开关关闭,再次按下总开关,USB打开,再次按下USB关闭
void ICACHE_FLASH_ATTR reverse_switch(uint16_t switch_ret,uint8_t num){
uint16_t switch_bit=0x10;
uart0_sendStr("switch_ret:%02x",switch_ret);
if(num == 0){
logo_led_switch(1);
if(dc1_write_gpio((switch_ret ^ 0x80) & 0x80)){
if((switch_ret & 0x80) == 0x80){
logo_led_switch(0);
}else{
logo_led_switch(1);
}
}
}else{
switch_bit=switch_bit<<(3-num);
switch_ret = switch_ret ^ switch_bit;
if(dc1_write_gpio(switch_ret & 0xF0 | 0x80)){
//logo_led_switch(1);
}
}
}
改成
void ICACHE_FLASH_ATTR reverse_switch(uint16_t switch_ret,uint8_t num){
uint16_t switch_bit=0x10;
switch_bit=switch_bit<<(3-num);
switch_ret = switch_ret ^ switch_bit;
if(dc1_write_gpio(switch_ret & 0xf0 | 0x80)){
//logo_led_switch(1);
}
}
之后,则总开关失效
看了下代码逻辑可能是要修改DC1KeyHandle函数
对平时主要玩C#对C/C++编程不是很懂...
HoGC commented
硬件设计限制了,无法单独控制USB,总开关是所有电源的来源,USB随总开关的控制,如果想关闭USB即只能关闭总电源,那么3个子插座也将被断了电源。
tonydongguwpi commented
想了下想通了,除非单独给电路板供电才能实现此功能,受教了~!