CH432读中断

采用STM32L151+CH432T+TP8485搭建了一个系统用于485通信,现在初始化CH432T和通过CH432T发送命令没问题,此时设备会回复一段数据,从CH432T的RX1用示波器也能看到返回的所有数据。因为返回数据大于16B,我设置FIFO 14B触发,我理解会在INT#上产生一个触发,STM32中断后读取即可,但是无论是示波器看还是STM32均没有看到这个中断。直接读取也能读取到返回数据的一部分...但是不全

一开始觉得可能是INT#直接连STM32不行,之后就接了一个10kohm电阻上拉,也还是同样的问题。请教下论坛的大神,有没有其他思路,还是我理解的这个INT#不对。

初始化配置参考了DEMO如下

//设置串口0配置
	div = (CLK_FREQ>>4)/CH432_PRORT1_RATE;
    u8DLMValue = div>>8;
    u8DLLValue = div&0xff;
	
	writeCH432Data( REG_LCR_ADDR, BIT_LCR_DLAB );    /* 设置DLAB为1 */
    writeCH432Data( REG_DLL_ADDR, u8DLLValue );    /* 设置波特率 */
    writeCH432Data( REG_DLM_ADDR, u8DLMValue );
	writeCH432Data( REG_FCR_ADDR, BIT_FCR_RECVTG1 | BIT_FCR_RECVTG0 | BIT_FCR_FIFOEN );    /* 设置FIFO模式,触发点为14 */
    writeCH432Data( REG_LCR_ADDR, BIT_LCR_WORDSZ1
                                  | BIT_LCR_WORDSZ0 );    /* 字长8位,1位停止位、无校验 */
    writeCH432Data( REG_IER_ADDR, BIT_IER_IEMODEM | BIT_IER_IELINES | BIT_IER_IETHRE | BIT_IER_IERECV );    /* 使能中断 */
    writeCH432Data( REG_MCR_ADDR, BIT_MCR_OUT2 | BIT_MCR_RTS | BIT_MCR_DTR );    /* 允许中断输出,DTR,RTS为1 */


在收到了设备回复的数据之后,432的INT脚是高电平还是低电平的?主控为ST单片机的时候经常遇到的问题是我们的中断是电平型的中断,而ST的中断触发条件是边沿型的,就会出现432初始化结束就产生发送空中断,导致数据接收之后并没有产生新的的中断边沿,只是单片机没有能够进入中断。


INT脚始终是低电平,我一直拿示波器看着, 没有任何电平变化。


那就是一直有未处理的中断请求,如我前面说的


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