久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11177|回復: 8
打印 上一主題 下一主題
收起左側

stm32與hmi串口屏通信調試詳解與源程序分享

  [復制鏈接]
跳轉到指定樓層
樓主
關于陶晶池串口屏與 STM32F103 芯片的通信小工程

拿到串口屏,可能很多人都通過視頻(本文件夾下”網絡資料.txt”文件)搞懂了如何用上位 機下載程序。但空有表面花架卻始終搞不懂它與各芯片之間是如何通過串口通信的。下面我 將為大家介紹它的通信規則。芯片以市場上用的最多的 STM32F103 為例。

一.準備工作:
前提:確定是陶晶池 USART HMI 串口屏,不確定可以對照屏幕編號百度或者對照淘寶網上 的圖片看一下;安裝上位機(壓縮包里有);學會上位機的使用。

1.首先先搞懂如何用上位機給串口屏編輯屏幕的界面、下載程序以及用上位機軟件給屏幕發 送指令。(具體請看視頻,網址在“網絡資料.txt”中有。特別是調試時發送的指令這一塊。 指令集在壓縮包“USARTHMI 屏幕資料.rar”里的“串口 HMI 指令集.pdf”

注意

2.如果下載時串口屏型號與例程型號不一致,可選擇“設備 ID”修改(與“調試”同一行


的最右邊按鈕),但前提是是陶晶池 USART HMI 串口屏。

二.例程講解 例程說明:
此例程由 ADC 實驗改編而來,采集電壓值顯示。可以通過 TFT 液晶屏和串口屏數值進行比 較。
ADC 用的是引腳 PA1,串口屏的串口輸出用的是 USART3:PB10(TX)              PB11(RX)(引腳是對應 STM32F103ZET6 芯片的,如果是 STM32F1 其它型號的芯片則需要在程序中自行修改引腳)。 本例程主要講解上位機指令在程序中如何實現,從而達到程序指令與上位機調試指令一樣的 效果。


1.編輯上位機。 在上位機上編輯自己想要的外觀、指令數值輸出口(如該例程的“n0,n1,n2,t2,t3”,即可以 修改的部分)等。

2.學會用調試窗口給串口屏發送指令,可以參照視頻,還可以參照文件“串口 HMI 指令集.pdf”。 只有這個會用了才能進行下一步。


3.接下來看例程。打開我寫的陶晶池串口程序,在例程中我將數據發送指令單獨用放在了函
數“hmi.c”“hmi.h”中。主函數中直接調用那兩個函數(數值發送函數和字符串發送函數) 就能實現給串口屏發送數據了。功能和上位機調試發送的指令是一樣的。





4.在函數“hmi.c”中我已經說明了函數各參數的含義。總體思路是將上位機上的一條指令拆
成兩部分-指令和數據。先發指令,再發數據。例如:將上位機上的調試指令“n0.val=2”拆 成指令“n0.val=”和數據“2”。后帶的只是它們的長度“len”或位數“len2”。


5.接下來是以“數值發送函數”為例的詳解,字符串發送也是一樣的。

代碼行 40:函數名(串口,指令,指令長度,數據,數據長度) 該函數的指令一般是“n_.val=”,指令長度是 7,具體是改哪個的值要與上位機
上設置的一致。 數據是自己想填入的值。如下面上位機上的數值“2”,數值位數“1” 如果要實現下圖所示上位機指令只需在主函數中調用函數
HMI_SendNum(USART3,"n0.val=",7,2,1);


代碼行 42-47:指令發送。
由于串口需要一個一個字符發送數據,所以我將“data[t]”(即函數中的“u8 *data”
或例程中的“n0.val=”)拆分成了單個字母一個一個發送給串口


代碼行 48-54:數據發送。 將多位數的數值也拆分成單個數值一個一個發送。要注意的是所有的發送都是以
ASCII 碼(單個字符)的形式發送的,所以數值要加字符‘0’。由于數值無法顯示數字前位 零,所以我將例程的“電壓值”部分拆成了四個單個數值顯示

代碼行 56-65:結束符發送。
這是陶晶池串口屏的數據發送格式。在文檔“串口 HMI 指令集.pdf”中有重點提到。



5.字符串發送指令是類似的,在此不予贅述。主函數中只要在使能串口后調用該函數就能使
用了。

結束語:由于是例程,所以就只編寫了兩個函數。如果您還想調用其他函數可以自行查看文 檔“串口HMI 指令集.pdf”,先用上位機調試一遍,成功后再在程序上編寫添加相應程序, 通信方式和編碼方式都是一樣的。

stm32
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"         

#include "hmi.h"

u8 dat[] = "add 1,0,9 0xff,0xff,0xff";
int t=0;
u8 date[] = {0xff,0xff,0xff};

int main(void)
{         
        delay_init();                     //延時函數初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
        uart_init(9600);                 //串口初始化為115200         
        uart3_init(9600);
         LED_Init();                             //LED端口初始化
         
        while(1)
        {
                for(t=0;t<56;t++)
        {        
            while(USART_GetFlagStatus(USART3,USART_FLAG_TC)!=SET);
            USART_SendData(USART3,dat[t]);                                         
        }
                //                HMI_SendNum(USART3,"n0.val=",0,2,4);
//          HMI_SendNum(USART3,"n1.val=",7,(int)2,1);
//          HMI_SendNum(USART3,"n2.val=",7,((int)2)/100,1);
//          HMI_SendNum(USART3,"n3.val=",7,(((int)2)/10)%10,1);
//          HMI_SendNum(USART3,"n4.val=",7,((int)2)%10,1);
//               
//          HMI_SendText(USART3,"t2.txt=",7,"此處用以文本測試",16);        
                                                
                LED0=!LED0;
                delay_ms(250);        
        }
}

注意:串口屏用的開發軟件自行搜索。

全部資料51hei下載地址:
自寫的與STM32F1通信程序.7z (469.13 KB, 下載次數: 207)
自寫例程詳解.pdf (468.24 KB, 下載次數: 113)
320240例.rar (269.18 KB, 下載次數: 81)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏7 分享淘帖 頂2 踩
回復

使用道具 舉報

沙發
ID:857251 發表于 2021-6-3 09:17 | 只看該作者
謝謝,請問串口屏用的開發軟件名稱?
回復

使用道具 舉報

板凳
ID:233756 發表于 2021-9-9 20:21 | 只看該作者
無法使用
回復

使用道具 舉報

地板
ID:1005649 發表于 2022-2-18 11:21 | 只看該作者
正在學習HMI的通訊,謝謝
回復

使用道具 舉報

5#
ID:1006580 發表于 2022-2-24 12:12 | 只看該作者
陶晶池3.2寸停產了,只能換3.5,工作量很大
回復

使用道具 舉報

6#
ID:1053899 發表于 2022-11-29 22:56 | 只看該作者
HMI_Pow()函數是怎么定義的?
回復

使用道具 舉報

7#
ID:786132 發表于 2024-12-19 19:00 | 只看該作者
USART-HMI串口屏與STM32相互通訊實例
回復

使用道具 舉報

8#
ID:929517 發表于 2025-1-6 04:07 來自手機 | 只看該作者
西瓜視頻上有個叫澄泉的博主有發布的視頻,很詳細
回復

使用道具 舉報

9#
ID:1142015 發表于 2025-1-6 09:50 | 只看該作者
正在學習串口屏的使用,這個很有用,先從點燈開始吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人在线视频 | 国产91在线播放精品91 | 中文av在线播放 | 午夜婷婷激情 | 青青草原综合久久大伊人精品 | 国产亚洲www | 国产成人精品高清久久 | 日本a视频| 欧美一区2区三区4区公司二百 | 日韩精品亚洲专区在线观看 | 成年人在线视频 | 亚洲啊v在线 | 日本精品一区二区 | 成人在线精品 | 日本天堂一区二区 | 日韩视频在线免费观看 | 国产欧美日韩二区 | 911网站大全在线观看 | 欧美成人精品一区二区男人看 | 久久33 | 欧美日韩电影免费观看 | 羞视频在线观看 | 亚洲精品欧美精品 | 91精品国产综合久久久动漫日韩 | 国产成人精品久久 | 国产在线a| 免费观看一级特黄欧美大片 | 亚洲一区二区三区 | 丁香久久| 精品欧美一区二区在线观看欧美熟 | 精品久久久久久久久久久久久久 | 国产精品乱码一区二区三区 | 欧美视频福利 | 免费亚洲婷婷 | 国产精品免费福利 | 色综合九九| 日日操夜夜摸 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | www国产亚洲精品 | 精品无码久久久久久国产 | 视频二区国产 |