CH438 的中斷OUT2 一直恒為低電平

CH438 的中斷OUT2 一直恒為低電平 是什么原因,外部有串口不斷的傳輸。但是為啥OUT2恒為低電平。這樣沒(méi)法判斷啊

MCR是可寫(xiě)寄存器,手動(dòng)置1后再試下呢,正常在初始化部分OUT 位就會(huì )置1?


再初始化部分 對OUT2置1了。

WriteCH438Data( REG_MCR3_ADDR, BIT_MCR_OUT2 /*| BIT_MCR_RTS | BIT_MCR_DTR */ );? ?這句語(yǔ)句一運行完,OUT2就恒定為低電平了。

void InitCH438UART3( void )? ? ? ?

{

? ? Uint16 div;

? ? Uint8 DLL, DLM;

/**************************************************************************

? ? ? ? ? 設置CH438串口3的寄存器

**************************************************************************/

//? ? UART3_Reset();

? ? div = ( Fpclk >> 4 ) / CH438UART3_BPS;

? ? DLM = div >> 8;

? ? DLL = div & 0xff;


? ? WriteCH438Data( REG_LCR3_ADDR, BIT_LCR_DLAB );? ? /* 設置DLAB為1 */

? ? WriteCH438Data( REG_DLL3_ADDR, DLL );? ? ? ? ? ? ?/* 設置波特率 */

? ? WriteCH438Data( REG_DLM3_ADDR, DLM );


? ? //WriteCH438Data( REG_FCR3_ADDR, BIT_FCR_RECVTG1 | BIT_FCR_RECVTG0 | BIT_FCR_FIFOEN );? ? /* 設置FIFO模式,觸發(fā)點(diǎn)為112字節 */


? ? WriteCH438Data( REG_LCR3_ADDR, BIT_LCR_WORDSZ1 | BIT_LCR_WORDSZ0 | BIT_LCR_PAREN | BIT_LCR_PARMODE0);? ? ? ? ? ? ? ? ? ? ?/* 字長(cháng)8位,1位停止位、偶校驗 */


? ? WriteCH438Data( REG_IER3_ADDR, /*BIT_IER_IEMODEM |*/ BIT_IER1_CK2X | /*BIT_IER_IELINES | BIT_IER_IETHRE |*/ BIT_IER_IERECV );? ? /* 使能中斷 */


? ? WriteCH438Data( REG_MCR3_ADDR, BIT_MCR_OUT2 /*| BIT_MCR_RTS | BIT_MCR_DTR */ );? ? ? ? ? ? ? /* 允許中斷輸出,DTR,RTS為1 */


? ? //WriteCH438Data(REG_FCR3_ADDR,ReadCH438Data(REG_FCR3_ADDR)| BIT_FCR_TFIFORST|BIT_FCR_RFIFORST);

? ? /* === 20240827 === */

? ? WriteCH438Data(REG_FCR3_ADDR, BIT_FCR_RECVTG1 | BIT_FCR_RECVTG0 | BIT_FCR_TFIFORST | BIT_FCR_RFIFORST | BIT_FCR_FIFOEN);


}



最終發(fā)現好像是 fifo溢出以后,清FIFO的需要一定的時(shí)間。


只有登錄才能回復,可以選擇微信賬號登錄
97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区 97精品依人久久久大香线蕉97-亚洲欧美日韩一区二区三区-国产亚洲欧美精品久久久-久久99精品久久久大学生-亚洲成a人片在线不卡一二三区