本文來源電子發(fā)燒友社區(qū),作者:Aivisus, 帖子地址:https://bbs.elecfans.com/jishu_2308773_1_1.html
串口通信測試(視頻詳見作者原帖子)
此次MC3172的串口測試設(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)行串口通信的測試。這里使用一個(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è)簡單的程序,就是將串口收到的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)過幾番測試研究,又上網(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, 則無法正常工作。
最后在選擇內(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
正點(diǎn)原子fpga開發(fā)板不同型號(hào)
正點(diǎn)原子作為國內(nèi)領(lǐng)先的FPGA開發(fā)板供應(yīng)商,其產(chǎn)品線覆蓋了從入門級(jí)到高端應(yīng)用的各個(gè)領(lǐng)域。這些開發(fā)板不僅適用于學(xué)術(shù)研究,還廣泛應(yīng)用于工業(yè)控制、通信、圖像處理等多個(gè)領(lǐng)域。 1. 入門級(jí)開發(fā)板 1.1
有獎(jiǎng)丨米爾 瑞芯微RK3576開發(fā)板免費(fèi)試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了7塊價(jià)值849元的MYD
有獎(jiǎng)試用?。A-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
有獎(jiǎng)試用??!RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
linux開發(fā)板與樹莓派的區(qū)別
定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用于工業(yè)自動(dòng)化、物聯(lián)網(wǎng)、智能家居等領(lǐng)域。 樹莓派:樹莓派(Raspberry Pi)是一種基于Linux
點(diǎn)擊參與米爾NXP i.MX 93開發(fā)板有獎(jiǎng)試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了3塊價(jià)值678元的MYD-LMX9X開發(fā)板發(fā)起
免費(fèi)!NXP i.MX 93開發(fā)板有獎(jiǎng)試用
米爾與NXP合作發(fā)布的新品基于NXPi.MX93應(yīng)用處理器的MYD-LMX9X開發(fā)板免費(fèi)試用活動(dòng)來啦~~米爾提供了2塊價(jià)值678
鴻蒙OpenHarmony開發(fā)板解析:【芯片解決方案】
芯片解決方案是指基于某款開發(fā)板的完整解決方案,包含驅(qū)動(dòng)、設(shè)備側(cè)接口適配、開發(fā)板sdk等。
fpga開發(fā)板是什么?fpga開發(fā)板有哪些?
FPGA開發(fā)板是一種基于FPGA(現(xiàn)場可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字電路和邏輯功能。FPGA開發(fā)板通常包括FPGA芯片、時(shí)鐘模塊、電源模塊、輸入輸出接口等組
fpga開發(fā)板與linux開發(fā)板區(qū)別
FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺(tái),各自具有不同的特點(diǎn)和應(yīng)用場景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和Linux開發(fā)板
51單片機(jī)開發(fā)板的主要功能 51單片機(jī)開發(fā)板能做什么
51單片機(jī)開發(fā)板是一種基于8051系列單片機(jī)芯片的開發(fā)板,具有豐富的功能和廣泛的應(yīng)用。下面將詳細(xì)介紹51單片機(jī)開發(fā)板的主要功能以及能夠?qū)崿F(xiàn)的
使用愛芯派Pro開發(fā)板部署人體姿態(tài)估計(jì)模型
在經(jīng)過之前對(duì)于開發(fā)板的使用,以及通過幾個(gè)愛芯派官方給出的示例demo(mobilenet/yolov5)在開發(fā)板上的部署之后,筆者也逐漸了解了愛芯派這塊
51單片機(jī)開發(fā)板原理圖介紹
電子發(fā)燒友網(wǎng)站提供《51單片機(jī)開發(fā)板原理圖介紹.pdf》資料免費(fèi)下載
發(fā)表于 12-18 09:12
?4次下載
使用YY3568開發(fā)板部署AI能力
YY3568開發(fā)板是 「風(fēng)火輪科技」 基于Rockchip RK3568 芯片平臺(tái)設(shè)計(jì)的開發(fā)板,四核 64Cortex-A55 核,主頻最高達(dá) 2GHz,集成雙核心架構(gòu)GPU以及高效能NPU,芯片
評(píng)論