本文來源電子發(fā)燒友社區(qū),作者:Aivisus, 帖子地址:https://bbs.elecfans.com/jishu_2308773_1_1.html
串口通信測(cè)試(視頻詳見作者原帖子)
此次MC3172的串口測(cè)試設(shè)定兩個(gè)目標(biāo),一個(gè)是與PC通信,即能夠在PC上對(duì)MC3172板子進(jìn)行收發(fā)數(shù)據(jù)。第二是與51單片機(jī)進(jìn)行收發(fā)數(shù)據(jù)通訊。
首先查看到MC3172開發(fā)版有12組可以使用的串口配置,從網(wǎng)上找到某位大神總結(jié)的一張圖如下:

在看例程里,線程2就是串口通訊的例程,打開注釋,即可以進(jìn)行串口通信的測(cè)試。這里使用一個(gè)uart轉(zhuǎn)usb的小轉(zhuǎn)接板,用于PC與MC3172進(jìn)行串口通信,轉(zhuǎn)接板的RX,TX分別接入MC3172開發(fā)板的PC3(TX),pc2(RX),要注意RX/TX的接線順序,接反是收發(fā)不了數(shù)據(jù)的。

然后在PC上打開串口工具 SCOM ,把轉(zhuǎn)接板插入PC,找到轉(zhuǎn)接板對(duì)應(yīng)的串口號(hào),然后在scom里打開這個(gè)串口,設(shè)置波特率為 115200, 8N1 的設(shè)置,即可看到MC3172向PC連續(xù)發(fā)送的0x31數(shù)據(jù)了,PC上向開發(fā)板發(fā)送也一樣,發(fā)送后可以將數(shù)據(jù)再反向發(fā)回來,即驗(yàn)證開發(fā)板與PC通訊成功。

- void GPCOM_UART_EXAMPLE(u32 gpcom_sel)
- {
- INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV4));
- GPCOM_SET_IN_PORT(gpcom_sel,(GPCOM_RXD_IS_P2));
- GPCOM_SET_OUT_PORT(gpcom_sel,(
- GPCOM_P0_OUTPUT_DISABLE|GPCOM_P3_OUTPUT_ENABLE|GPCOM_P2_OUTPUT_DISABLE|GPCOM_P1_OUTPUT_DISABLE|
- GPCOM_P0_IS_HIGH |GPCOM_P3_IS_TXD |GPCOM_P2_IS_HIGH |GPCOM_P1_IS_HIGH
- ));
- GPCOM_SET_COM_MODE(gpcom_sel,GPCOM_UART_MODE);
- GPCOM_SET_COM_SPEED(gpcom_sel,12000000,9600); //這里<---115200改為9600
- GPCOM_SET_OVERRIDE_GPIO(gpcom_sel, (
- GPCOM_P2_OVERRIDE_GPIO|GPCOM_P2_INPUT_ENABLE |
- GPCOM_P3_OVERRIDE_GPIO
- ……
- }
首先通過PC連接51開發(fā)板,把通訊速率調(diào)至9600,8N1的設(shè)置,向開發(fā)板發(fā)送字符串,51單片機(jī)開發(fā)一個(gè)簡(jiǎn)單的程序,就是將串口收到的acsii碼顯示到LCD屏幕上,PC向51單片機(jī)發(fā)送字符串時(shí),51單片機(jī)能夠正確的顯示出發(fā)送的內(nèi)容,因此驗(yàn)證51單片機(jī)通訊工作正常。
然后把MC3172的PC3(TX),PC2(RX)腳連接51單片機(jī)的P30,P31口,即把MC3172串口與51單片機(jī)串口連接起來,驗(yàn)證MC3172能夠51單片機(jī)通訊。
燒寫好程序,連接好線后,運(yùn)行MC3172程序,單片機(jī)LCD 上顯示的是亂碼,并沒有正確的顯示出預(yù)設(shè)的字符串。又將MC3172連接到PC上,PC上使用9600速率進(jìn)行連接,發(fā)現(xiàn)也是收到的數(shù)據(jù)不正確。

經(jīng)過幾番測(cè)試研究,又上網(wǎng)找資料,終于在一個(gè)論壇里,發(fā)現(xiàn)一個(gè)官方技術(shù)人員關(guān)于MC3172串口通訊的回帖,串口速率的設(shè)置,不能只設(shè)置波特率,需要根據(jù)芯片主頻,來設(shè)定合適的分頻數(shù),以及芯片外設(shè)的主頻率和通訊波特率,并且主頻頻率于波特率的比值不能超過255, 那這一下就明白了,只修改通訊速率是不行的。
那么以這次與51開發(fā)板通訊所需要的9600通訊來說,是這樣計(jì)算的,因?yàn)槭褂玫氖?00M(實(shí)際是192076800Hz) 先進(jìn)行1/256分頻,得到外設(shè)的工作頻率 750300, 然后檢驗(yàn) 6002400/9600=78.1, 78 < 255, 即合適。如果這里分頻選擇小了,那么外設(shè)工作頻率就大,比如選擇32分頻,那么外設(shè)工作頻率為192076800Hz/32=6002400, 再檢查倍率6002400/9600=625, > 255, 則無法正常工作。
因此了解這個(gè)規(guī)則后,就可以隨心所欲的設(shè)置了,同時(shí)如果在配置線程時(shí),選擇了不同的晶振,也需要修改相關(guān)的參數(shù),串口才能正常的工作。
最后在選擇內(nèi)部rc晶振下,修改兩行代碼如下,即可以正確的與51單片機(jī)進(jìn)行通訊了。
INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIv2));
改為
INTDEV_SET_CLK_RST(gpcom_sel,(INTDEV_RUN|INTDEV_IS_GROUP0|INTDEV_CLK_IS_CORECLK_DIV256));
GPCOM_SET_COM_SPEED(gpcom_sel,12000000,115200);
改為
GPCOM_SET_COM_SPEED(gpcom_sel,750300,9600);
最后終于在51單片機(jī)上收到MC3172板子發(fā)來正確
的數(shù)據(jù)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
有獎(jiǎng)丨米爾 瑞芯微RK3562開發(fā)板免費(fèi)試用新增名額!
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用名額增加

基于RK3576處理器,米爾RK3576開發(fā)板免費(fèi)試用
年7月19日 ? 評(píng)測(cè)數(shù)量: 3塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)

搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用
: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)開發(fā)板

基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)
數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)開

性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)
月19日 ? 評(píng)測(cè)數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤(rùn)開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評(píng)測(cè)!頂級(jí)

【免費(fèi)試用】開發(fā)板評(píng)測(cè)大賽開啟!OH 、RISC-V、Rockchip頂級(jí)開發(fā)板等你試用~
技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽三大賽

有獎(jiǎng)丨米爾 NXP i.MX91開發(fā)板免費(fèi)試用來啦
米爾與NXP合作發(fā)布的新品基于NXPi.MX91應(yīng)用處理器的MYD-LMX91開發(fā)板免費(fèi)試用名額來啦~~米爾提供了3套價(jià)值588元的MYD-LMX91開發(fā)板發(fā)起

免費(fèi)丨米爾 STM32MP257開發(fā)板有獎(jiǎng)試用
米爾與ST合作發(fā)布的新品基于STM32MP257應(yīng)用處理器的MYD-LD25X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了2塊價(jià)值488元的MYD-LD25X開發(fā)板發(fā)起

有獎(jiǎng)丨米爾 瑞芯微YR3562開發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了3塊價(jià)值599元的MYD

瑞芯微開發(fā)板/主板Android調(diào)試串口配置為普通串口方法
?本文介紹瑞芯微開發(fā)板/主板Android調(diào)試串口配置為普通串口方法,不同板型找到對(duì)應(yīng)文件修改,修改的方法相通。觸覺智能RK3562

dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南
電子發(fā)燒友網(wǎng)站提供《dsPIC33EDV64MC205電機(jī)控制開發(fā)板用戶指南.pdf》資料免費(fèi)下載
發(fā)表于 01-21 14:34
?10次下載

追加名額丨米爾瑞芯微RK3576開發(fā)板有獎(jiǎng)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)加碼啦~~米爾追加了2塊價(jià)值849元的MY

有獎(jiǎng)丨米爾 瑞芯微RK3576開發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了7塊價(jià)值849元的MYD

評(píng)論