新手在學習c語言前期的時候,只要學習基本語法就可以了,來來去去就5條最常用的語句。
比如說if..else,for,while, switch, 賦值語句(=).
加減乘除,或運算、與運算、非運算,7個運算符
||、&&、!=、==,4個邏輯關系符
unsigned char、unsigned char short、unsigned char long,3個最常用的數據類型。
二進制、十進制、十六進制,3個進制轉換
還有就是函數的調用和定義。
基本上掌握這些就能編寫很多程序了,學c語言是一個循環漸進的過程,不要一上來就想著要寫很復雜的程序,再牛X的大佬也是從點燈開始,等寫多了,熟悉了,到時候再學習結構體、指針之類的東西,沒有一定的基礎時候,去學一些高級應用肯定是學不懂的,只有等碰到了只能用指針、結構體去實現的功能的時候,你才會深刻理解它們的作用。

別人在設計產品的時候設置的功能碼,一個是03用來讀取數據,讀取數據的時候,用戶在設計的產品的時候應該怎么設計?首先要設計這個03功能碼,它針對哪些寄存器,那這個寄存器它到底什么含義?實際上就是是寄存器地址,但實際上就是我們給它一個變量,如果說我們用C語言來編代碼,那實際上就是接觸到這個數據的時候,就是說你要獲取的是溫度的一個計算機的數據就是這樣,實際上是我們人為的一個定義,它不是一個實際的一個地址,就是它不是一個實際的地址,是我們一個規定。

比如發送命令的時候,發送0103,接收到公眾碼,我接收到你的0000就知道要讀多少個寄存器,要讀一個那就認為你是在讀溫度,這個是我們在設計產品的時候自己設計的,自己規定好的,那這些地址也是我們自己規定好的,當然了,要參考的這個MODBUS協議,這樣的話我們把這個東西規定好,然后給出一般的功能碼03和06,這兩個公眾碼都不是特別難,這兩個功能碼理解了以后,再去拓展其它的功能碼可能就更方便一點。
比如03這個就是一個地址,一個功能碼起始寄存器的地址,寄存器的長度,然后校驗碼,這個就是它對于這種問詢追它要給出響應,就是你設計產品,別人發給你這個,那你接收是不是要解析,接收01知道是我的,再繼續解析,知道是03,它是要讀了,然后找到它要讀什么?判斷它是0000就知道它要從這個地址開始讀。

它要讀兩個就知道它要溫度和濕度,設計的當前的溫濕度產品,應該給它回一串數據,比如說你是單片機開發的,那你可能單片機有一個溫濕度,有一個傳感器,有個單片機,然后呢,還有一個485接口芯片,首先你的單片機要采集溫濕度,采集了溫濕度之后要把它組合數據包,組成數據包之后把這個問詢幀給它發回去,這個就是我們要從這個產品的角度去理解人家這個東西是怎么設置的,包括它們的波特率,包括它的協議類型啊,包括這些東西以后設計的時候,也可以參考它這個來設計你的計算機地址,然后來設計你需要干什么事情,數據范圍,你的數據類型支持哪些功能。

這個東西我們熟悉了之后,以后給大家講述如何用單片機來實現讀取這個傳感器的溫濕度數據,這樣的話就很方便了,比如構建了一個主從系統,需要用到多個溫濕度傳感器,用單片機就可以發這個問詢幀來得到溫濕度數據,然后把這個溫度數據解析一下,然后去做顯示,或者去做其它的一些控制處理等等,這兩期主要是讓大家更加的鞏固一下MODBUS協議,也就是深入的理解一下,只有理解了這個協議,那你后面自己在做應用的時候才知道如何去入手。
對單片機感興趣的可以查看往期分享內容,希望能幫助大家在學習單片機的路上少走一些彎路,想要入門單片機可以持續關注創為單片機編程,回復“帶我學習”查看更多內容分享。
審核編輯:湯梓紅
-
51單片機
+關注
關注
278文章
5714瀏覽量
134264 -
C語言
+關注
關注
183文章
7644瀏覽量
145569
發布評論請先 登錄
學習單片機之前需要哪些準備?精選資料分享
C語言回調函數學習
Linux C語言編程基本原理與應用實踐的學習筆記資料免費下載
C語言之const和volatile的深度學習
零基礎學習嵌入式C語言要學習什么?
學習單片機之前需要哪些準備?
學習C語言之前要做什么準備
評論