CH582使用UART0問題

歷程中是UART1,但改為UART0后為什么就是不好使,是哪里還需要配置嗎,引腳什么的都改了,線也沒接錯(cuò),有沒有大哥救救孩子 - -?

#include "CH58x_common.h"


uint8_t TxBuff[] = "This is a tx exam\r\n";

uint8_t RxBuff[100];

uint8_t trigB;


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

?* @fn? ? ? main

?*

?* @brief? ?主函數(shù)

?*

?* @return? none

?*/

int main()

{

? ? uint8_t len;


? ? SetSysClock(CLK_SOURCE_PLL_60MHz);


? ? /* 配置串口1:先配置IO口模式,再配置串口 */

? ? GPIOB_SetBits(bTXD0);

? ? GPIOB_ModeCfg(bRXD0, GPIO_ModeIN_PU);? ? ? // RXD-配置上拉輸入

? ? GPIOB_ModeCfg(bTXD0, GPIO_ModeOut_PP_5mA); // TXD-配置推挽輸出,注意先讓IO口輸出高電平

? ? UART0_DefInit();


#if 1 // 測(cè)試串口發(fā)送字符串

? ? UART0_SendString(TxBuff, sizeof(TxBuff));


#endif


#if 0 // 查詢方式:接收數(shù)據(jù)后發(fā)送出去

? ? while(1)

? ? {

? ? ? ? len = UART0_RecvString(RxBuff);

? ? ? ? if(len)

? ? ? ? {

? ? ? ? ? ? UART0_SendString(RxBuff, len);

? ? ? ? }

? ? }


#endif


#if 1 // 中斷方式:接收數(shù)據(jù)后發(fā)送出去

? ? UART0_ByteTrigCfg(UART_1BYTE_TRIG);

? ? trigB = 1;

? ? UART0_INTCfg(ENABLE, RB_IER_RECV_RDY | RB_IER_LINE_STAT);

? ? PFIC_EnableIRQ(UART0_IRQn);

#endif


? ? while(1);

}


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

?* @fn? ? ? UART1_IRQHandler

?*

?* @brief? ?UART1中斷函數(shù)

?*

?* @return? none

?*/

__INTERRUPT

__HIGH_CODE

void UART0_IRQHandler(void)

{

? ? volatile uint8_t i;


? ? switch (UART0_GetITFlag())

? ? {

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

? ? ? ? {

? ? ? ? ? ? UART0_GetLinSTA();

? ? ? ? ? ? break;

? ? ? ? }


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

? ? ? ? ? ? for(i = 0; i != trigB; i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? RxBuff[i] = UART0_RecvByte();

? ? ? ? ? ? ? ? UART0_SendByte(RxBuff[i]);

? ? ? ? ? ? }

? ? ? ? ? ? break;


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

? ? ? ? ? ? i = UART0_RecvString(RxBuff);

? ? ? ? ? ? UART0_SendString(RxBuff, i);

? ? ? ? ? ? break;


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

? ? ? ? ? ? break;


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


? ? ? ? ? ? break;


? ? ? ? default:

? ? ? ? ? ? break;

? ? }

}

真就什么都沒改 - -?


你好,將這里的debug改成0。

image.png


您好,我試了下,還是不行


將你的代碼拷貝并修改debug=0,可以進(jìn)行收發(fā)。

image.png

9bed61629bd51d93652692f07900fea.jpg

你可以檢查一下串口硬件是否接線良好,檢查一下串口0的c文件是否include。

如果收發(fā)還是有問題,請(qǐng)發(fā)送郵件至郵箱lpc@wch.cn,我們這里進(jìn)行查看。


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

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