ch423输入不正确的问题

芯片工作正常,能够控制输出。

设置为中断输入,中断能够正常触发,但是无论如何读到的输入都是零,以下是配置:

ch423_wiret_byte(CH423_SYS_CMD|BIT_X_INT);

 ch423_wiret_byte(CH423_SET_IO_CMD|0xff);

中断处理:

void ch423_inter(void) 

{

 if (EXTI_GetITStatus(EXTI_Line15)) {

    u8 io = ch423_read_byte();

    sys_info.io_status = io;

EXTI_ClearFlag(EXTI_Line15);

}

}


读取双向输入输出命令用于获得 IO7~IO0 引脚的当前状态,当 IO_OE 为 0 时为获取输入状态,
否则为获取输出状态,你需要将IO_OE位设置为0

还有,423的INT脚是输出低电平有效的中断,你的外部中断触发如果是下降沿,可能会有异常,建议在中断服务函数前加一个INT低电平判断

while(READ_INT == 0)

{

?读取IO输入状态

}


只有登录才能回复,可以选择微信账号登录