0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32單片機(jī)寄存器的功能解析

華維單片機(jī)林北 ? 來源:華維單片機(jī)林北 ? 作者:華維單片機(jī)林北 ? 2022-04-12 00:28 ? 次閱讀

“大神”叫你先上STM32,51是小朋友玩的,所以你就不學(xué)51了

初學(xué)者建議從51單片機(jī)開始,雖然很多人建議直接上STM32,但本人還是建議先學(xué)習(xí)51單片機(jī),簡單且不容易打消積極性,很多人都是在積極性消退之后就會(huì)半途而廢,等熟悉了LED、串口、SPI、按鍵、中斷、IIC等這些基礎(chǔ)之后,如果對(duì)單片機(jī)還有興趣,不妨再去晉升學(xué)習(xí)STM32單片機(jī),有了51單片機(jī)作為基礎(chǔ),這時(shí)候?qū)W習(xí)STM32也是可以非常快的就能上手。

STM32單片機(jī)寄存器的功能解析

一般的寄存器的定制是從0開始定義,0000這個(gè)寄存器地址存放的是溫度的一個(gè)數(shù)據(jù),然后0001這個(gè)采用的是濕度的數(shù)據(jù),它們兩個(gè)數(shù)據(jù)的范圍都是0到65535,并且都是只讀的,所以它適用于的是03這個(gè)功能,組態(tài)地址就不用關(guān)心了,這個(gè)是PLC當(dāng)中用的一個(gè)組態(tài)地址,實(shí)際上這個(gè)組態(tài)地址等于寄存器地址加上4001,要把它轉(zhuǎn)成十進(jìn)制去加上4001,這個(gè)是一個(gè)規(guī)定,可以去設(shè)置自己的寄存器的地址,然后來說明你的寄存器里面存放的是什么值,別人讀的時(shí)候就知道怎么去讀了。

STM32單片機(jī)寄存器的功能解析

比如說想讀的是你當(dāng)前的波特率,那我可以用03這個(gè)功能,從0067這個(gè)地址起始地址開始讀,讀一個(gè)寄存器是不是就讀的就是你的波特率,給一個(gè)校驗(yàn)碼就應(yīng)該就能夠響應(yīng)什么是你的波特率的數(shù)據(jù),同時(shí)波特率它也告訴我們,波特率它是可讀可寫的,既然可讀可寫,它應(yīng)該提供的06功能碼,就可以寫單個(gè)寄存器,也可以用0六這個(gè)功能碼去對(duì)它進(jìn)行操作,比如更改它的設(shè)備地址,修改它的波特率,這些都是可以的。

濕度傳感器USB接口和485信號(hào),它們倆之間是肯定不能直接通信的,可以借助一個(gè)小模塊,USB轉(zhuǎn)485的模塊,這種模塊現(xiàn)在也不貴,感興趣的可以去入手一個(gè),這里面有四根線,電源線,還有兩根信號(hào)線,然后A線接傳感器的A,B接傳感器的B,電路連好了之后就可以借助助手來實(shí)現(xiàn)這個(gè)通訊的功能的測試,它支持的是主機(jī)問詢,從機(jī)應(yīng)答的一種方式,所以主機(jī)要去問它,它才會(huì)給你回答。

STM32單片機(jī)寄存器的功能解析

在這種主從系統(tǒng)當(dāng)中,從機(jī)設(shè)備是不允許主動(dòng)的發(fā)起通信的,我們要想通信必須由主機(jī)發(fā)起,我們可以去打開這個(gè)串口,然后去發(fā)送我們的問詢,讀兩個(gè)字節(jié),從0000這個(gè)寄存器地址起始地址開始讀,讀寄存器在讀計(jì)算器,也就是把溫度和濕度都讀出來,這個(gè)時(shí)候還有一個(gè)校驗(yàn)碼,校驗(yàn)的話是CRC校驗(yàn),校驗(yàn)碼不對(duì)它是肯定是不會(huì)響應(yīng)的,這個(gè)時(shí)候它給出了一個(gè)響應(yīng)0103,然后04,01代表01地址,03的功能碼,0四代表返回的數(shù)據(jù)長度四個(gè)字節(jié),返回的值是048915B2,它這里面的數(shù)據(jù)的值都是16進(jìn)制的。

STM32單片機(jī)寄存器的功能解析

16進(jìn)制值首先要把它轉(zhuǎn)成十進(jìn)制數(shù),舉個(gè)例子0079,它轉(zhuǎn)成十進(jìn)制是121,假設(shè)數(shù)據(jù)的倍率是100倍,這個(gè)值應(yīng)該是1.21度,濕度也是一樣的,所以它這個(gè)地方有一個(gè)倍率是100,要控制一個(gè)485的一個(gè)接口芯片,首先轉(zhuǎn)成發(fā)送狀態(tài),轉(zhuǎn)成發(fā)送狀態(tài)之后發(fā)送問詢幀,發(fā)送問詢之后立馬切換成接收狀態(tài),然后接收這一幀數(shù)據(jù),用超時(shí)的辦法去接收,接收完這么一包數(shù)據(jù)之后要解析這個(gè)數(shù)據(jù),把這兩個(gè)數(shù)據(jù)取出來轉(zhuǎn)成十進(jìn)制,然后按照它這個(gè)數(shù)據(jù)的方式把它再除以100,就可以轉(zhuǎn)成當(dāng)前的溫度和濕度。

STM32單片機(jī)寄存器的功能解析

對(duì)單片機(jī)感興趣的可以查看往期分享內(nèi)容,希望能幫助大家在學(xué)習(xí)單片機(jī)的路上少走一些彎路,想要入門單片機(jī)可以持續(xù)關(guān)注創(chuàng)為單片機(jī)編程,,回復(fù)“帶我學(xué)習(xí)”查看更多內(nèi)容分享。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5250

    瀏覽量

    119193
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352433
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    272

    文章

    5689

    瀏覽量

    122144
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)教程七:單片機(jī)的特殊功能寄存器

    單片機(jī)教程七:單片機(jī)的特殊功能寄存器 通過前面的學(xué)習(xí),我們已知單片機(jī)的內(nèi)部有ROM、有RAM、有并行I/O口,那么,除了這些東西之外,
    發(fā)表于 05-15 23:01 ?2138次閱讀
    <b class='flag-5'>單片機(jī)</b>教程七:<b class='flag-5'>單片機(jī)</b>的特殊<b class='flag-5'>功能</b><b class='flag-5'>寄存器</b>

    51單片機(jī)匯編語言教程_單片機(jī)的特殊功能寄存器

    51單片機(jī)匯編語言教程:7課單片機(jī)的特殊功能寄存器
    發(fā)表于 01-19 15:26 ?0次下載

    CAN寄存器功能

    fesscale的8位單片機(jī)can寄存器對(duì)應(yīng)的功能
    發(fā)表于 03-29 14:44 ?4次下載

    51單片機(jī)寄存器功能一覽表

    本文主要詳細(xì)介紹51單片機(jī)寄存器功能,首先介紹了51單片機(jī)引腳圖及功能,其次闡述了51單片機(jī)
    發(fā)表于 05-22 16:12 ?5.1w次閱讀
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>寄存器</b><b class='flag-5'>功能</b>一覽表

    51單片機(jī)的21個(gè)特殊功能寄存器的詳細(xì)資料說明

    學(xué)習(xí)51單片機(jī)的過程中,其實(shí)就是學(xué)習(xí)怎么用它的特殊功能寄存器(有些寄存器是我們看不到的),特殊功能寄存器
    發(fā)表于 09-10 17:26 ?13次下載
    51<b class='flag-5'>單片機(jī)</b>的21個(gè)特殊<b class='flag-5'>功能</b><b class='flag-5'>寄存器</b>的詳細(xì)資料說明

    51單片機(jī)經(jīng)常使用的寄存器功能總結(jié)

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)經(jīng)常使用的寄存器功能總結(jié)。
    發(fā)表于 08-29 17:29 ?12次下載
    51<b class='flag-5'>單片機(jī)</b>經(jīng)常使用的<b class='flag-5'>寄存器</b><b class='flag-5'>功能</b>總結(jié)

    51單片機(jī)的21個(gè)特殊功能寄存器詳細(xì)資料概述

    在80C51單片機(jī)中設(shè)置了與片內(nèi)RAM統(tǒng)一編址的21個(gè)特殊功能寄存器(SFR)。訪問SFR只允許使用直接尋址方式。特殊功能寄存器(SFR)每
    發(fā)表于 07-09 17:40 ?8次下載
    51<b class='flag-5'>單片機(jī)</b>的21個(gè)特殊<b class='flag-5'>功能</b><b class='flag-5'>寄存器</b>詳細(xì)資料概述

    STM32單片機(jī)不完全手冊之寄存器版本

    STM32單片機(jī)不完全手冊之寄存器版本
    發(fā)表于 07-31 16:10 ?0次下載

    7課:單片機(jī)的特殊功能寄存器 2020/11/15

    7課:單片機(jī)的特殊功能寄存器 2020/11/15
    發(fā)表于 11-20 12:51 ?7次下載
    7課:<b class='flag-5'>單片機(jī)</b>的特殊<b class='flag-5'>功能</b><b class='flag-5'>寄存器</b> 2020/11/15

    [單片機(jī)]STM32 Flash寄存器

    [單片機(jī)]STM32 Flash寄存器● FPEC key register (FLASH_KEYR)● Option byte key register (FLASH_OPTKEYR
    發(fā)表于 12-02 10:36 ?12次下載
    [<b class='flag-5'>單片機(jī)</b>]<b class='flag-5'>STM32</b> Flash<b class='flag-5'>寄存器</b>

    STM32寄存器操作

    STM32寄存器操作在使用STM32單片機(jī)編程時(shí)一般都用ST給的庫函數(shù)編程,庫函數(shù)編程的底層就是對(duì)單片機(jī)
    發(fā)表于 01-13 15:43 ?19次下載
    <b class='flag-5'>STM32</b>的<b class='flag-5'>寄存器</b>操作

    單片機(jī)定時(shí)寄存器

    標(biāo)準(zhǔn)的 51 單片機(jī)內(nèi)部有 T0 和 T1 這兩個(gè)定時(shí),T 就是 Timer 的縮寫,現(xiàn)在很多 51 系列單片機(jī)還會(huì)增加額外的定時(shí),在這里我們先講定時(shí)
    發(fā)表于 02-10 12:10 ?1次下載
    <b class='flag-5'>單片機(jī)</b>定時(shí)<b class='flag-5'>器</b>的<b class='flag-5'>寄存器</b>

    單片機(jī)寄存器和存儲(chǔ)哪個(gè)好

    單片機(jī)寄存器和存儲(chǔ)哪個(gè)好 單片機(jī)的運(yùn)用在生活中是很常見的,隨著科技的發(fā)展,單片機(jī)更新速度和發(fā)展速度也非常快。對(duì)于
    發(fā)表于 03-21 15:18 ?559次閱讀

    單片機(jī)寄存器有哪些 單片機(jī)寄存器怎么理解 寄存器單片機(jī)的關(guān)系

    單片機(jī)寄存器是一種特殊的存儲(chǔ)器件,用于存儲(chǔ)和處理程序中的數(shù)據(jù)和指令。可以將單片機(jī)寄存器看作是CPU內(nèi)部的工作區(qū)域,類似于人的大腦,用于暫時(shí)存儲(chǔ)和處理當(dāng)前的任務(wù)和信息。
    發(fā)表于 04-01 15:47 ?5821次閱讀

    單片機(jī)工作寄存器作用 單片機(jī)常用專用寄存器

    除了通用寄存器(如累加、通用寄存器等),單片機(jī)中還會(huì)有特定功能寄存器,如定時(shí)
    的頭像 發(fā)表于 04-08 14:46 ?6890次閱讀