CH582F串口1在程序執(zhí)行一半后,只用TxD發(fā)送,而RxD用于ADC應(yīng)用,可行嗎?

我們串口1初始化后,在程序的中間想把RxD用作其他功能,只用TxD做輸出,可以這樣操作嗎?

配置為其他功能的時候,將串口重新初始化,然后將rx作為通用gpio翻轉(zhuǎn),初始化的時候屏蔽這個初始化的配置。

image.png


也就是準備設(shè)置為ADC之前,先把串口重新初始化為您圖片的方式,然后就可以將這個IO用作其他功能了是嗎?


串口引腳初始化的時候不要操作RX的引腳,將RX引腳作為通用GPIO。然后UART1_DefInit的時候屏蔽RB_FCR_RX_FIFO_CLR。


TECH_Lpc,您好,感謝您耐心回復(fù)

我的訴求是,在開機前5分鐘使用串口,然后將RxD作為ADC檢測功能,按照您的說法,第一次程序初始化假如是:

? ? GPIOA_SetBits(bTXD1);? // 讓TXD一直輸出高電平

? ? GPIOA_ModeCfg(bTXD1, GPIO_ModeOut_PP_5mA);

? ? UART1_DefInit();

那么5分鐘過后,重新設(shè)置R0_UART1_FCR屏蔽RB_FCR_RX_FIFO_CLR寄存器即可,還是說全部將UART1_DefInit執(zhí)行(其中R0_UART1_FCR進行修改


如果一開始就不使用rx引腳,直接在初始化的時候?qū)B_FCR_RX_FIFO_CLR屏蔽掉。

如果剛開始使用rx作為串口,程序使用一段時間后不需要了,則將RB_FCR_RX_FIFO_CLR置為復(fù)位態(tài),并且將rx的引腳作為通用GPIO使用就可以了。建議你實際的操作測試一下,比如直接將這個引腳進行GPIO的翻轉(zhuǎn),看看波形和串口的收發(fā)是否正常。



OK,您這么說我就理解了。


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

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