日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全国一等奖,他的学习之路。

發布時間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国一等奖,他的学习之路。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“大魚機器人”,選擇“置頂/星標公眾號”

福利干貨,第一時間送達!




之前有寫過一篇比賽經驗帖:從0開始,三個月,獲全國一等獎


這次應龍哥要求,給大家寫一份STM32入門的文章。因為我是搞軟件的,這里就只給大家介紹STM32的編程學習的一些思路,幫助大家盡快入門。


我打算是分兩篇寫,一個基礎篇,一個提升篇。


這一篇為大家講一下STM32入門學習的一些基礎。


在之前的文章也跟大家提到過,基礎真的非常非常重要。


如果基礎打牢了,電賽拿個省獎應該是沒有大問題的,不過拿國獎的話還需要一定量的強化練習,關于強化的部分后面再寫一篇給大家介紹。


在內容講解之前,先講一下學習方法。其實不只是學習單片機,不管是學什么自學能力都非常重要。


當初我剛開始學的時候,去找龍哥,原本我是希望龍哥能教會我,然而龍哥就是給我丟了一套原子的視頻,只給我講了一下基本要學的東西和學習思路,很多東西我都是自己學,看不懂的地方先去百度搜,如果還是不懂才去問龍哥。


因為一般我去問龍哥,龍哥每次都會給我幾句話:自己百度去,這個都不懂,給你兩巴掌。下次我問你還不會,我打死你。


我們平時去問老師也是一樣,老師只給你提供思路,實際的操作還是要靠自己。但是我真的很感謝老師和龍哥,因為只有自己搞懂才是真懂,自己自學學到的知識記憶會特別深刻。


這里就以STM32f103為例,網上有很多相關的學習的視頻,正點原子的和野火的講的都不錯。

我是看正點原子的視頻入門的,所以我的思路跟正點原子的很類似,我這里的介紹不會太詳細,只是給大家提供一些學習的思路。


各位小伙伴如果有問題可以去群里討論或者去看一下正點原子學習視頻,希望下面的內容對大家能有幫助。


我把單片機的基礎內容為以下四個部分,下面我單個講解。


1

點燈和按鍵

一般來說,學單片機都是從點燈開始的。我當時學點燈和按鍵學了一個星期,純小白入門的話,學起來肯定會有一些困難。


我當時是從51轉32的,跟著視頻邊看邊寫,當時我就很喜歡鉆牛角尖,51點燈定義一個引腳就一行,但是32比51麻煩太多,從新建工程添加文件,定義引腳,當時就覺得各種亂七八糟的東西,很懵逼。


這里給大家提幾個小建議,剛開始學的時候,不要說要把每一行每一句搞清楚,把關鍵的語句搞清楚就可以了,等你學到了后面再往前看的時候,會有一種突然間恍然大悟的感覺,因為每用到引腳就要進行引腳配置,配置多了,學的東西多了自然而然就懂了。


然后剛開始新建工程盡量不要使用模板,每一次新建工程都自己添加文件,搞懂整個工程的框架,學到后面可以自己總結一套適合自己的模板。


點燈其實就是配置引腳輸出高電平和低電平來控制外部LED燈的亮滅,配置語句非常簡單,首先使能引腳時鐘,然后配置引腳輸出模式即可。按鍵的話也類似,只不過按鍵是配置輸入模式。按鍵的硬件圖如下所示:



以KEY_UP為例,左端是VCC,右邊接的是單片機的引腳,不按時中間斷開,當按鍵按下,中間連通,此時單片機會檢測到有高電平輸入。按鍵還有一個消抖程序,是為了保證穩定,避免二次檢測,除此之外,按鍵有支持連按和禁止連按兩種模式,這里請讀者自行去了解。


點燈和按鍵在平時做項目的時候用處也是很大的,每次我新建工程第一個程序永遠都是點燈,因為復雜一點的程序一般都會涉及中斷,每次我都是把點燈放在中斷里面,根據燈的亮滅變化來判斷你的中斷配置是否成功或者判斷中斷實現的功能是否正常運行,除此之外也可以用燈來檢查工程里其他的邏輯語句,因為開發平臺只能檢查程序的語法錯誤,邏輯錯誤只能自己去檢查。


2

串口與外部中斷

串口的功能基本上就是實現數據的傳輸,通過杜邦線連接兩塊單片機,數據可以從一塊單片機發送到另一塊單片機。像現在網上的一些模塊比如溫濕度檢測模塊,就是通過串口把檢測到的溫濕度的值發送到單片機。


也可利用串口實現單片機與電腦的數據交互,此時需用到串口調試工具。串口功能的配置也比較簡單,配置好時鐘后,設置好輸入或輸出模式,然后設置波特率,數據位長度,奇偶校檢位等即可使用,這些在原子的視頻中都有詳細的講解。


原子給的例程是在主函數的死循環里面不停接收或發送。我并不支持這種操作,我在做畢業設計的時候,因為程序比較多,剛開始我也是在死循環里面接收數據,隨著程序越來越大,更新數據的時間變得越來越慢。


串口通信還涉及到一個串口中斷,用串口中斷來接收數據的話,可以大大優化程序的運行速度。


外部中斷原理跟按鍵很類似,也是通過檢測外部信號來實現相應的功能。外部中斷是單片機實時地處理外部事件的一種內部機制。


當某種外部事件發生時,單片機的中斷系統將迫使CPU暫停正在執行的程序,轉而去進行中斷事件的處理;中斷處理完畢后.又返回被中斷的程序處,繼續執行下去。


這里要提醒一下,中斷執行的語句也需要盡量簡化,因為一般的單片機都是單線程的,無法同時運行中斷里面的功能和系統功能,進入中斷后其他的功能都會短暫停止工作,只運行中斷里面的功能。如果中斷里面功能語句過多可能會影響整個系統的運行。



3

定時器

我個人覺得定時器是單片機的核心,用途非常廣。


定時器有最主要的三個功能:定時器中斷,輸出PWM,輸入捕獲。


詳細配置這里不講了,下面分別講解三大功能。


定時器中斷是根據自己配置定時器的時間來進入中斷,就拿兩輪平衡小車為例,配置定時器每50ms進入一次中斷,接收陀螺儀檢測的小車傾角信息,平衡小車是通過不停的檢測小車的平衡狀態以此來控制電機向前或向后運動保證小車平衡。


輸出PWM功能主要是輸出一段可以控制占空比的方波信號。比如點燈,可以改變輸出PWM占空比的大小來控制燈的亮度。


我電賽搞的是控制,用的最多的是用來控制電機或者舵機。


以電機為例,一般單片機會連接一個電機驅動,電機驅動會根據單片機發送PWM的占空比來控制電機的轉速和方向。


比如5V8000轉速的電機連接最大輸出5V的驅動,單片機如果發送給驅動的PWM占空比為100%,驅動滿伏輸出,電機也會滿轉速運轉,一分鐘轉8000轉;


如果給的PWM占空比為50%,驅動輸出的實際電壓變為2.5V,電機速度會變為4000轉每分鐘。


輸入捕獲功能可用于測量一段未知信號的頻率,周期和占空比等等。比如輸入一段方波,檢測到上升沿的時候定時器開始計數,檢測到下降沿后把計數時間設為t1,檢測到第二個上升沿后總計數時間設為t2,占空比則為t1/t2,頻率為1/t2,周期為t2。


4

ADC

全稱為Analog-to-Digital Converter,將連續變量的模擬信號轉換為離散數字信號。ADC功能主要用于檢測電壓值,


拿平衡小車來說,需要用ADC檢測平衡小車的電量來提醒用戶是否需要充電。


又比如光敏模塊,其實就是利用ADC測量光敏模塊內部光敏電阻的電壓值,溫度模塊則是用ADC測量內部熱敏電阻的電壓值。


但是要注意,單片機上的ADC引腳檢測的最高電壓不得大于3.3V,太大了會燒壞單片機,一般的電壓都需用先通過一個確定倍數的放小電路后再進行測量。


下圖就是我在16年省賽準備期間做的一個微型的示波器:



16年省賽是我第一次接觸STM32,當時因為水平不夠校內篩選的時候就被刷了。上圖有測出來的電壓值,電流值,功率,周期,峰峰值,也有當時還沒測出來的占空比等等一些數據,還有一些是調試過程中用來檢驗的一些數據。



5

結束語

除了上面講到的東西,還要跟大家提一下現在兩種主流的配置引腳的方式,庫函數和操作寄存器。


我自己先學的是庫函數,后面自己也學了寄存器操作的方法。其實兩種方法的原理是一樣的,庫函數其實就是把寄存器給包裝起來了,實際上都是對寄存器的操作。


這里給大家一個建議,如果是想在單片機這條路上走遠一些的,寄存器一定要搞懂。


像我有的同學在公司實習的時候,公司就只給了他一個寄存器操作手冊,因為很多產品內部的部件都是定制的,網上沒有程序參考,只能自己配置,如果看不懂寄存器根本無法下手。


這篇文章有很多東西都沒有寫,像重映射等等一些功能其實也很重要,單片機的原理圖大家也一定要看懂,我這里只是給大家一個思路,詳細的學習資料還是要參照正點原子的,原子開發板的資料中有一些文檔像STM32開發指南和STM32中文參考手冊需要多看看,請大家多多注意。


最后再提醒一下大家,寫程序是很看動手能力的,一定一定要多動手,不要只復制粘貼。自己平時也可以去網上找找題目做,就比如學會點燈后,自己用杜邦線多接幾個LED燈,寫程序實現各種花式點燈;


學會按鍵后,可以自己改程序實現連按功能;學會后面的定時器,ADC和LCD后,可以自己做一個小型示波器。大家入門后也可以多去看看算法相關的一些書籍,程序語法花寫時間總能搞懂,但是算法才是核心。


因為我是一個典型的工科男,文筆很差,里面廢話很多,講的一些東西也不知道大家能不能看懂。


希望文章對初學者能有所幫助,中間有遺漏或者講錯的地方歡迎指正。


C語言的一個小陷阱

博士論文抄襲,看頭發辨真假

嗨,你是選擇自學成才還是參加培訓

三十歲一事無成,一個失敗工程師的自白

還沒有進群的小伙伴可以添加小編微信~

備注:進群,拉你進微信交流群~


總結

以上是生活随笔為你收集整理的全国一等奖,他的学习之路。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。