串口透?jìng)骼又?串口1不能接收數(shù)據(jù) 不進(jìn)入中斷

代碼:

void uart1_init()

{

? ? GPIOA_SetBits(bRXD1);

? ? GPIOA_ModeCfg(bRXD1, GPIO_ModeIN_PU);

? ? GPIOA_SetBits(bTXD1);

? ? GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);

? ? UART1_DefInit();

? ? UART1_INTCfg( ENABLE, RB_IER_RECV_RDY|RB_IER_LINE_STAT );

? ? PFIC_EnableIRQ( UART1_IRQn );

}

__attribute__((interrupt("WCH-Interrupt-fast")))

__attribute__((section(".highcode")))

void UART1_IRQHandler( void )

{

? switch ( UART1_GetITFlag() )

? {

? ? case UART_II_LINE_STAT :? ? ? ? // 線路狀態(tài)錯(cuò)誤

? ? {

? ? ? UART1_GetLinSTA();

? ? ? break;

? ? }


? ? case UART_II_RECV_RDY :? ? ? ? ? // 數(shù)據(jù)達(dá)到設(shè)置觸發(fā)點(diǎn)

? ? ? break;


? ? case UART_II_RECV_TOUT :? ? ? ? ?// 接收超時(shí),暫時(shí)一幀數(shù)據(jù)接收完成

? ? ? len1 = UART1_RecvString( Rx1Buff );

? ? ? UART1_SendString(Rx1Buff,len1);

? ? ? SendToBle(Rx1Buff,len1);

? ? ? break;


? ? case UART_II_THR_EMPTY :? ? ? ? ?// 發(fā)送緩存區(qū)空,可繼續(xù)發(fā)送

? ? ? break;


? ? case UART_II_MODEM_CHG :? ? ? ? ?// 只支持串口0

? ? ? break;


? ? default :

? ? ? break;

? }


}



熱門(mén)產(chǎn)品 : CH390:以太網(wǎng)控制器芯片

你的代碼,實(shí)際上是進(jìn)入了中斷,只是你沒(méi)處理,

你的代碼如果只是這些初始化,在該外設(shè)其他寄存器是默認(rèn)值的情況下, 其只會(huì)進(jìn)入這個(gè)case:

UART_II_RECV_RDY

而你卻未作任何處理.



非常感謝你的回答,但是還是不能進(jìn)入中斷,即使我代碼這樣寫(xiě):

__attribute__((interrupt("WCH-Interrupt-fast")))

__attribute__((section(".highcode")))

void UART1_IRQHandler( void )

{

? ? UART1_SendByte( 0x11 );

。

。

。

}



首先,確保你的芯片和例程對(duì)的上, 并且硬件連接,是正常的


其次,你應(yīng)該首先嘗試官方例程的工程 EVT>EXAM>UART1

直接燒錄里面的hex文件:UART1.hex

這個(gè)代碼默認(rèn)115200波特率 給其發(fā)什么收到什么,


在上面跑通后,

然后打開(kāi)該工程,修改兩個(gè)宏,即可實(shí)現(xiàn)中斷接收,收到什么發(fā)送什么出來(lái),波特率同樣是115200,

image.png



只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频