學(xué)51單片機(jī)前期的C語(yǔ)言知識(shí)儲(chǔ)備要到什么程度
新手在學(xué)習(xí)c語(yǔ)言前期的時(shí)候,只要學(xué)習(xí)基本語(yǔ)法就可以了,來(lái)來(lái)去去就5條最常用的語(yǔ)句。
比如說(shuō)if..else,for,while, switch, 賦值語(yǔ)句(=).
加減乘除,或運(yùn)算、與運(yùn)算、非運(yùn)算,7個(gè)運(yùn)算符
||、&&、!=、==,4個(gè)邏輯關(guān)系符
unsigned char、unsigned char short、unsigned char long,3個(gè)最常用的數(shù)據(jù)類型。
二進(jìn)制、十進(jìn)制、十六進(jìn)制,3個(gè)進(jìn)制轉(zhuǎn)換
還有就是函數(shù)的調(diào)用和定義。
基本上掌握這些就能編寫很多程序了,學(xué)c語(yǔ)言是一個(gè)循環(huán)漸進(jìn)的過程,不要一上來(lái)就想著要寫很復(fù)雜的程序,再牛X的大佬也是從點(diǎn)燈開始,等寫多了,熟悉了,到時(shí)候再學(xué)習(xí)結(jié)構(gòu)體、指針之類的東西,沒有一定的基礎(chǔ)時(shí)候,去學(xué)一些高級(jí)應(yīng)用肯定是學(xué)不懂的,只有等碰到了只能用指針、結(jié)構(gòu)體去實(shí)現(xiàn)的功能的時(shí)候,你才會(huì)深刻理解它們的作用。
別人在設(shè)計(jì)產(chǎn)品的時(shí)候設(shè)置的功能碼,一個(gè)是03用來(lái)讀取數(shù)據(jù),讀取數(shù)據(jù)的時(shí)候,用戶在設(shè)計(jì)的產(chǎn)品的時(shí)候應(yīng)該怎么設(shè)計(jì)?首先要設(shè)計(jì)這個(gè)03功能碼,它針對(duì)哪些寄存器,那這個(gè)寄存器它到底什么含義?實(shí)際上就是是寄存器地址,但實(shí)際上就是我們給它一個(gè)變量,如果說(shuō)我們用C語(yǔ)言來(lái)編代碼,那實(shí)際上就是接觸到這個(gè)數(shù)據(jù)的時(shí)候,就是說(shuō)你要獲取的是溫度的一個(gè)計(jì)算機(jī)的數(shù)據(jù)就是這樣,實(shí)際上是我們?nèi)藶榈囊粋€(gè)定義,它不是一個(gè)實(shí)際的一個(gè)地址,就是它不是一個(gè)實(shí)際的地址,是我們一個(gè)規(guī)定。
比如發(fā)送命令的時(shí)候,發(fā)送0103,接收到公眾碼,我接收到你的0000就知道要讀多少個(gè)寄存器,要讀一個(gè)那就認(rèn)為你是在讀溫度,這個(gè)是我們?cè)谠O(shè)計(jì)產(chǎn)品的時(shí)候自己設(shè)計(jì)的,自己規(guī)定好的,那這些地址也是我們自己規(guī)定好的,當(dāng)然了,要參考的這個(gè)MODBUS協(xié)議,這樣的話我們把這個(gè)東西規(guī)定好,然后給出一般的功能碼03和06,這兩個(gè)公眾碼都不是特別難,這兩個(gè)功能碼理解了以后,再去拓展其它的功能碼可能就更方便一點(diǎn)。
比如03這個(gè)就是一個(gè)地址,一個(gè)功能碼起始寄存器的地址,寄存器的長(zhǎng)度,然后校驗(yàn)碼,這個(gè)就是它對(duì)于這種問詢追它要給出響應(yīng),就是你設(shè)計(jì)產(chǎn)品,別人發(fā)給你這個(gè),那你接收是不是要解析,接收01知道是我的,再繼續(xù)解析,知道是03,它是要讀了,然后找到它要讀什么?判斷它是0000就知道它要從這個(gè)地址開始讀。
它要讀兩個(gè)就知道它要溫度和濕度,設(shè)計(jì)的當(dāng)前的溫濕度產(chǎn)品,應(yīng)該給它回一串?dāng)?shù)據(jù),比如說(shuō)你是單片機(jī)開發(fā)的,那你可能單片機(jī)有一個(gè)溫濕度,有一個(gè)傳感器,有個(gè)單片機(jī),然后呢,還有一個(gè)485接口芯片,首先你的單片機(jī)要采集溫濕度,采集了溫濕度之后要把它組合數(shù)據(jù)包,組成數(shù)據(jù)包之后把這個(gè)問詢幀給它發(fā)回去,這個(gè)就是我們要從這個(gè)產(chǎn)品的角度去理解人家這個(gè)東西是怎么設(shè)置的,包括它們的波特率,包括它的協(xié)議類型啊,包括這些東西以后設(shè)計(jì)的時(shí)候,也可以參考它這個(gè)來(lái)設(shè)計(jì)你的計(jì)算機(jī)地址,然后來(lái)設(shè)計(jì)你需要干什么事情,數(shù)據(jù)范圍,你的數(shù)據(jù)類型支持哪些功能。
這個(gè)東西我們熟悉了之后,以后給大家講述如何用單片機(jī)來(lái)實(shí)現(xiàn)讀取這個(gè)傳感器的溫濕度數(shù)據(jù),這樣的話就很方便了,比如構(gòu)建了一個(gè)主從系統(tǒng),需要用到多個(gè)溫濕度傳感器,用單片機(jī)就可以發(fā)這個(gè)問詢幀來(lái)得到溫濕度數(shù)據(jù),然后把這個(gè)溫度數(shù)據(jù)解析一下,然后去做顯示,或者去做其它的一些控制處理等等,這兩期主要是讓大家更加的鞏固一下MODBUS協(xié)議,也就是深入的理解一下,只有理解了這個(gè)協(xié)議,那你后面自己在做應(yīng)用的時(shí)候才知道如何去入手。
對(duì)單片機(jī)感興趣的可以查看往期分享內(nèi)容,希望能幫助大家在學(xué)習(xí)單片機(jī)的路上少走一些彎路,想要入門單片機(jī)可以持續(xù)關(guān)注創(chuàng)為單片機(jī)編程,回復(fù)“帶我學(xué)習(xí)”查看更多內(nèi)容分享。
審核編輯:湯梓紅
-
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5711瀏覽量
127402 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141780
發(fā)布評(píng)論請(qǐng)先 登錄
學(xué)習(xí)單片機(jī)之前需要哪些準(zhǔn)備?精選資料分享
如何學(xué)習(xí)編程c++語(yǔ)言?
嵌入式C語(yǔ)言之變量與常量簡(jiǎn)析
C語(yǔ)言回調(diào)函數(shù)學(xué)習(xí)
C語(yǔ)言之自然對(duì)數(shù)的底e的計(jì)算
C語(yǔ)言之最大公約數(shù)和最小公倍數(shù)。
單片機(jī)C語(yǔ)言之串口通信協(xié)議

C語(yǔ)言之const和volatile的深度學(xué)習(xí)
零基礎(chǔ)學(xué)習(xí)嵌入式C語(yǔ)言要學(xué)習(xí)什么?

學(xué)習(xí)單片機(jī)之前需要哪些準(zhǔn)備?

評(píng)論