丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁 > 話題廣場 > 問答專區(qū) > 科技

為什么你學(xué)了幾天 STM32 感覺一臉茫然,是你的姿勢不對

為什么學(xué)了幾天STM32,臉茫然,你的姿勢不對。

是的,你的感覺是對的,其實(shí)你自己已經(jīng)有了朦朧的答案,以前沒有接觸過任何單片機(jī),其實(shí)你的問題可以歸結(jié)為以下幾個原因。

1.MCU的基本知識理解不足。

2.單片機(jī)(即STM32)的詳細(xì)工作認(rèn)識不清楚。

依照整個進(jìn)修階段先后順序的說明,下面更詳細(xì)的解讀來說明問題。

1.專用術(shù)語

對于MCU來說,在沒有接觸詳細(xì)的功能,僅專用名詞就一堆,交叉編譯,內(nèi)核,加法器/除法器、協(xié)處理器、算法加速器、指令集、浮點(diǎn)運(yùn)算、流水線、哈佛構(gòu)造、寄存器(通用和外設(shè))、中斷和異常、FLASH、RAM、Cache(緩存)、SDRAM(刷新時長)、USART(波特率,停下位,奇偶檢驗(yàn))、CAN,SPI(片選)和I2C等,這里面有的屬于根底知識,有的屬于進(jìn)階須要了解的知識點(diǎn),這些名詞的了解是作為入門者的第一個門檻,假如對一些專用名詞不了解,那么組合起來的語句就愈加艱澀難懂,這里說我的進(jìn)修方法:遇到聽不懂的專業(yè)術(shù)語,去網(wǎng)絡(luò)上查找了解,并找個本子或電腦通過文檔的形式記錄下,一段時長回顧一下,好記性不如爛筆頭,這里舉薦<>3權(quán)威指南>,對于單片機(jī)進(jìn)修中須要了解的內(nèi)核知識都有說明。

2.芯片工作流程

專業(yè)術(shù)語并不會多難,記住根本不會忘,就算忘了回顧下也簡略,在邁過這個坎后,下一步就是了解芯片執(zhí)行流程和我們要做什么才能讓芯片工作起來。

1.在上電后,芯片復(fù)位啟動

2.MCU從FLASH通過指令/數(shù)據(jù)總線分別讀取指令和數(shù)據(jù),配合解析執(zhí)行,其中在通過RAM和通用寄存器(以就是R0~R12的內(nèi)部寄存器)處理可變數(shù)據(jù)。

3.依據(jù)執(zhí)行的指令,配置和操作外設(shè)的的寄存器,從而驅(qū)動對應(yīng)外設(shè)實(shí)現(xiàn)詳細(xì)的功能

4.配合上層組合邏輯,聯(lián)合外設(shè)功能,執(zhí)行詳細(xì)應(yīng)用的全部需求

上述就是芯片工作的流程,而作為單片機(jī)開發(fā)者,實(shí)現(xiàn)的代碼就是放在FLASH中的程序,由官方提供的SDK包和用戶裁剪實(shí)現(xiàn)定義的外設(shè)驅(qū)動組成,依照上述流程就包含:

芯片的啟動過程中對堆棧的初始化,系統(tǒng)相關(guān)外設(shè)的處理(如時鐘) =>這局部由廠商提供,我們把文件放入項(xiàng)目即可,以STM32為例就是啟動文件和系統(tǒng)初始化的SystemInit函數(shù)

配置應(yīng)用須要的外設(shè)模塊,假如你看網(wǎng)上的教學(xué)視頻,都是從這一步直接初始的,特別是STM32基于STM32CubeMx的實(shí)現(xiàn),會告訴你這么寫是滿足要求的,假如你不是愿意深究的人到?jīng)]所謂,當(dāng)你深究這東西的時候,就會發(fā)現(xiàn)沒有人告訴為什么要這么寫,迷惑自然就來了,其實(shí)這局部就是嵌入式所謂的經(jīng)歷成分。

如大局部外設(shè)模塊都要進(jìn)行時鐘使能,GPIO就要配置引腳的上拉/下拉,推挽/開漏,USART配置模式,波特率,奇偶校驗(yàn),停下位,數(shù)據(jù)位,還要考慮對應(yīng)GPIO的端口復(fù)用,I2C就要考慮主從模式,依據(jù)須要的傳輸速率確定模塊時鐘,SDRAM除了考慮引腳復(fù)用,時序,還要計算刷新時長來保證數(shù)據(jù)的穩(wěn)定,這些知識理論上都是長期在工作中積攢出來的,在項(xiàng)目需求確定后,依據(jù)芯片和器件選型,就能夠確定硬件PCB的繪圖和布置,功能需求也能確定,如訪問外部EPPROM,那么I2C就確定位主模式,并依據(jù)EPPROM的讀寫時序和芯片的性能,考慮到效率和穩(wěn)定的均衡,就能夠確定I2C的速率,考慮布局和其它需求,I2C對應(yīng)的復(fù)用引腳也能確定,事實(shí)上,對于真實(shí)項(xiàng)目,都是從

需求=>項(xiàng)目方案書=>軟硬件框架=>軟件驅(qū)動

你所看的視頻直接從軟件驅(qū)動學(xué)起,不知道前后背景,才會迷茫,至于如何轉(zhuǎn)換思維進(jìn)修,可參照我之前這篇總結(jié),末尾也有我關(guān)于嵌入式入門的說明。

聽心跳的聲音:轉(zhuǎn)變思維進(jìn)修嵌入式 --方法和總結(jié)111贊同 ?7評論文章

3.上層應(yīng)用邏輯實(shí)現(xiàn)

配合外設(shè)的應(yīng)用邏輯實(shí)現(xiàn)其實(shí)才是項(xiàng)目中最復(fù)雜的局部,包含中斷前后臺系統(tǒng)的交互,可能存在RTOS應(yīng)用和協(xié)議移植,GUI的管理操作,和其它模塊如wifi模塊,藍(lán)牙模塊的交互,不過這局部屬于進(jìn)階內(nèi)容,當(dāng)你對外設(shè)模塊由一定認(rèn)知后,這局部應(yīng)該也會有自己的進(jìn)修方法,這里我就不在贅述。

本答復(fù)到此就完畢了,這只是我對單片機(jī)問題關(guān)于自己了解的總結(jié),單片機(jī)雖然并不須要創(chuàng)新研發(fā)未知的技術(shù),但卻波及從芯片底層到軟件接口的全部實(shí)現(xiàn),包含對現(xiàn)代計算機(jī)技術(shù)中向微處理器方向的全部精髓技術(shù),也是須要不斷進(jìn)修才能不被時代擯棄。另外希望你也能總結(jié)出自己的方法,在這條道路上越走越好,假如有嵌入式Linux的進(jìn)修需求,也能夠看我這篇答復(fù)。

我的第一塊開發(fā)板是arduino,最早學(xué)電子方向也是用的arduino。

我的第一塊開發(fā)板也是arduino uno。再到8266,再到的stm32,再到的學(xué)校的51,是不是路徑很詭異啊。其實(shí)進(jìn)修單片機(jī)最重要的是什么。是興趣,成就感,早些年的51都是用匯編的,那玩意勸退多少人,我第一個接的個人項(xiàng)目,用的就是匯編,鬼知道我一個程序?qū)懥税雮€月,人都吐了。

再說此時的51,你裝個keil,然后呢,裝51支持包,點(diǎn)燈程序,然后編譯好hex,用什么下載,stcisp吧,燒錄是不是還得重啟一下啊。

再說stm32。是不是拿到正點(diǎn)原子或者野火的407zgt6開發(fā)板,一大坨,也不知道上面一堆啥玩意,一堆排針,一堆串口,網(wǎng)口,顯示屏。不管了,先裝mdk5,再裝f4支持包,然后原子哥的點(diǎn)亮燈,然后燒錄是用串口340還是stlink啊,是不是還要配燒錄地址啊,h7系列是不是還要自己寫外部flash配置文件啊,由于片內(nèi)空間很小。你把這一堆搞完了,是不是頭大啊,啊對,還有那網(wǎng)盤的大小,我記得有好幾個g吧,下載完,都兩天了。

所以,這一系列就很容易勸退很多學(xué)生。arduino就很蠢,什么也沒有,d13點(diǎn)燈,一條藍(lán)色數(shù)據(jù)線,安裝arduino ide,不用裝驅(qū)動,安裝過程中點(diǎn)安裝,就行了,翻開ide,點(diǎn)開程序blinker,自動識別串口,一條typeb的打印機(jī)線點(diǎn)擊下載,好了,d13閃爍。再搞幾個pwm,搞個oled屏幕,搞個繼電器和藍(lán)牙模塊,直接能夠做個小智能家居了。成就感滿滿對吧。

然后他就會遇到各種問題,假如pwm想控制電機(jī),不能調(diào)頻次對吧,只能重寫定時器,假如沒有uno模擬量輸出,假如串口獨(dú)有一個,假如外部中斷獨(dú)有兩個不夠用對吧,沒有網(wǎng)口只能用5100或者5500擴(kuò)展對吧,擴(kuò)展了網(wǎng)口,flash又不夠了對吧,很多限制出現(xiàn)了。這時候,你就會像吸煙成癮一樣,會去瘋狂想辦法攻克,假如選擇mega或者due?;蛘咿D(zhuǎn)戰(zhàn)stm32,有的問題能夠直接用atmel studio開發(fā)攻克。興趣會驅(qū)使你往前鉆研。

而stm32進(jìn)修茫然,是對的,由于stm32,國內(nèi)的開發(fā)板,都是給你一坨,讓你自己在那里搞搞搞,鬼都不愿意看,去看看意法半導(dǎo)體官方給出的評估板什么樣子。用德飛萊的那種系統(tǒng)板,加一些擴(kuò)展板和杜邦線,配合好的bootloader,讓初學(xué)者有更多的時長琢磨本質(zhì)的東西,而不是浪費(fèi)在看你那個大開發(fā)板的原理圖,看幾個g的資料,才是正確的。當(dāng)然,感覺說這些會引起國內(nèi)的兩個st教育巨頭的不滿,但是還是要說的,雖然我是大學(xué)里看著原子和野火的書學(xué)的32,也感激兩位為中國嵌入式教學(xué)做出的貢獻(xiàn)(我也買了好多兩家的開發(fā)板和模塊啥的,大幾千有的,還有原子的示波器,雖然被我摔了)但不是如此以來,便是對的,教育的本質(zhì),本就是不斷探索,不斷創(chuàng)新,不斷反思。

我自己在今年年初錄制了一套還比較系統(tǒng)的入門單片機(jī)教程,想要的同學(xué)找我拿就行了免費(fèi)的,私信我就可以哦~點(diǎn)我頭像黑色字體加蚣重呺也能領(lǐng)取。

1.《為什么你學(xué)了幾天 STM32 感覺一臉茫然,是你的姿勢不對》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《為什么你學(xué)了幾天 STM32 感覺一臉茫然,是你的姿勢不對》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/why/3209234.html

上一篇

打印機(jī)怎么取消模式設(shè)置看這里!柯尼卡美能達(dá)復(fù)印機(jī)如何開啟維修保養(yǎng)模式

關(guān)于怎么添加打印機(jī)串口,你需要知道這些AQ-SM877-ECT-COM實(shí)現(xiàn)EtherCAT控制器與串口設(shè)備的通訊

怎么添加打印機(jī)串口相關(guān)介紹,在自動化系統(tǒng)中,一些第三方設(shè)備(如變頻器、清潔槍、打印機(jī)等)是串行通信方式,目前很多以太網(wǎng)控制器(復(fù)裝、歐姆龍等)沒有串行端口。 為了滿足這種需求,華茂歐特的SM877-ECT-COM模塊可以實(shí)現(xiàn)此功...

怎么添加打印機(jī)串口?我來告訴你答案為什么連接安裝打印機(jī)需要安裝驅(qū)動呢?打印機(jī)安裝常識要知道

怎么添加打印機(jī)串口相關(guān)介紹,點(diǎn)擊上面關(guān)注“繪圖打印”。這是我們的專業(yè)。很舒服!安裝驅(qū)動程序是添加新打印設(shè)備時要做的第一件事,驅(qū)動程序是連接計算機(jī)和其他外部硬件所必需的程序。 這時有朋友就疑惑了:那為什么我接上鼠標(biāo)鍵盤這些不用安裝...

怎么添加打印機(jī)串口?終于找到答案了電腦系統(tǒng)設(shè)置打印機(jī)端口的方法

怎么添加打印機(jī)串口相關(guān)介紹,打印機(jī)如何設(shè)置打印機(jī)端口?最近用戶第一次使用打印機(jī),不知道如何設(shè)置打印機(jī)端口,我來告訴你如何設(shè)置打印機(jī)端口。(大衛(wèi)亞設(shè),《北方快遞》(美國電視劇),如何設(shè)置打印機(jī)端口,如何設(shè)置打印機(jī)端口。) 解決方法...