Stm32學了好久了,感覺獨立做專案還是有力不從心的感覺

時間 2021-05-11 16:50:45

1樓:wuzz

該學資料結構與演算法了,好好學,之後才能面試通過找到工作。

大學學的知識專案是不能商用的,對於剛入職的畢業生,公司不會要求太高,資料結構與演算法學好最重要,現在覺得力不從力,當入職後做了乙個專案就沒困惑了。

2樓:一丁

具體的技術搞一遍就會了,難得是舉一反三,不是所有的問題專案都做過,但這些新出現的問題肯定又和以前認知的有一些相關性,這個時候就需要舉一反三和知識的系統性及個人的悟性了,一般人和天才的區別這就在這兒發生變化!另外我理解的工程問題就是多做多想,多總結沒其他捷徑!

3樓:linonely

你學的太雜了,又是嵌入式軟體,又是嵌入式硬體,想好是做軟體還是硬體硬體就一條路,畫板子,

軟體分嵌入式Linux和MCU

Linux是有作業系統的,學作業系統,Unix,網路程式設計這些,直接上Armv7.v8

MCU先學通訊匯流排,SPI,UART,I2C,學下RTOS,然後學通訊原理,藍芽,Wifi,蜂窩網路

又做軟體又做硬體,沒必要,浪費時間精力,一般公司軟體硬體都是分開的,如果你的公司還是要求軟硬都要會,學習積累然後早點走人吧

4樓:可以是假名嗎

我和其他答案不一樣,我認為是你對系統的認識不夠,才會抓瞎。

記住:嵌入式一定是和你的系統密切相關的。所以才叫嵌入式。

至於暫存器,外設啥的,大把資料,甚至cubemx都能幫你設定好。

5樓:TopSemic

看了題目,感覺有點兒完美主義了。就是做什麼事情可能總想盡善盡美,這挺好,但很多事情往往是過尤不及。

就像我們做乙個產品,即使是蘋果,微軟這等實力雄厚的大公司,產品也是Bug很多的。軟體業有乙個定律是,凡是大型的軟體必有Bug。如果這些公司為了產品100%完美,那麼可能連乙個軟體,產品都發布不了。

而且往往解決最後1%的問題會耗費掉比解決前面99%的問題大得多的代價。做專案也是如此,不可能等準備到100%的把握了,然後再開始做。

勇敢的開始乙個專案,在前進中解決問題,加乙個期限,千萬不要是1萬年!

6樓:hlw

就我而言,接觸32已經4年多了,我是從官方的庫開始的,後來除錯的時候不斷深入到暫存器中,對各個模組的一些暫存器功能有了大概了解,再後來自己就琢磨每個模組的一些特殊功能,現在轉到hal庫上來了,不過話說回來,hal庫配置硬體是真的爽。補充一句,我直接用32的庫開始是因為已經自學了51和微機原理,感覺沒必要再糾結於底層了,鄙人愚見,請大家補充。

7樓:涼風習習的晚上

我說兩句

用HAL不可恥,用HAL一樣能學會。

就舉幾個例子

UART:原子的教程,普通收發對吧。但是HAL庫函式定義的地方的上下,是不是還有HAL UART IT /DMA?

這兩個你看到了,總歸用用吧?然後初次接觸DMA,在cubeMX裡面肯定會看到DMA中斷和UART中斷吧,兩個中斷區別是什麼,總會想想試試吧。

CAN:原子的教程是自發自收測試,你可以看到timetrigger的配置項,你多深入一下,就會發現這裡其實可以引出乙個,針對仲裁延時的TTCAN。再有就是BS1BS2的配置,這裡涉及到乙個sample point的配置,為什麼原子配了55%,為什麼要用87.

5%?取樣值怎麼計算?還有filter mask ,這個模式的配置HAL封裝的很糟糕,你要想用,必須看暫存器。

上面一圈除錯下來,知識就比只會跑例子深入很多了把。

AD:規則組,注入組,DMA,怎麼玩?去論壇問問,包括原子本人都會告訴你,用規則+DMA,可以覆蓋大部分需求,大部分AD都是連續取樣,注入組不是剛需。

用介面時,思考其實際應用場景。

我的乙個核心觀點,用HAL庫沒問題,HAL庫配置的所有引數,要求必須知道什麼意思,然後肯定會有調不通的情況,除錯遇到困難,從HAL的介面深入去看,看到暫存器,看HAL裡面做什麼。

8樓:

說下我自己的情況吧,目前大二準備公升大三。跟題主一樣在微控制器方面從51開始學習,因為要參加電賽跟著正點原子的課程學習了32.以下將從兩個方面來回答:1、微控制器學習。2、專案製作

1、微控制器學習:個人感覺學習微控制器是有一些前置的技能的比如C語言和基本模電數電的知識,在學習了這些之後再去進行微控制器的學習會事半功倍,也能更好地去理解一些例程以及相應操作。個人建議有一定51基礎(主要是對暫存器配置要能理解的透徹)後學習32(以暫存器配置方式為主,多看看中文參考手冊以及相關例程講解)。

如果C語言學的比較好能夠理解函式及相關知識的話,建議從庫函式開始看起,不追求去理解乙個函式是如何操作相應暫存器的,注重相應配置的過程。但是庫函式的版本有可能會出現相應的不適配等問題,最終還是需要回歸到暫存器上的相應配置,個人建議以暫存器為主吧,我感覺暫存器配置起來更加清晰。

2、專案製作:個人在大一下到大二上這段時間以主要技術負責人的身份參與製作了乙個國家級大學生創新創業專案。包括現在也是以負責人的身份製作乙個國家級大創以及參與另乙個國家級大創。

以我已經完成的那個專案為例,應用感測器和微控制器製作乙個比較完備的閉環系統。

個人感覺做專案最重要的是要有乙個整體的思維,規劃好你要做的功能,各個功能之間的配合、需要用到的感測器、外設和相應的硬體,與微控制器連線得到你想要內容的方式。如通訊(上位機下位機的SPI、6050等一些感測器的IIC)、adc功能得到電壓值計算pt100的溫度、普通的io口按鍵操作、1602/12864/數碼管等顯示外設與人機的互動性。甚至說可能會需要一些遠端無線通訊的內容,像nrf24l01(2.

4g短距離無線通訊)、esp8266(WiFi模組)、bc28(NB模組)、SIM800c(GPRS模組)等一系列遠端通訊的模組,你需要根據你所做專案的內容去進行相應的選型。

以上這些都是你需要考慮的內容,要在前期盡可能的規劃清除,剩下的便是根據例程先分開實現相應的功能,在將這些功能組合成乙個比較完備的系統,並增加相應的人機互動。在把這些功能組合在一起是可能會碰到,占用的io口衝突了,變數定義重複了,定時器打斷了乙個對時序要求比較嚴格的操作(如、通訊部分的操作)等各種問題,這些需要你一步步去進行相應的除錯、改正、嘗試。最終才能做成乙個比較完整的專案。

其中除錯的一些打表、變數監視等基礎操作我就不進行贅述了,這些內容在網上找找或者自己多試試都會明白的。

9樓:王多魚

你把官網的bsp包下下來看看,再順便看看那個幾百頁的暫存器手冊,然後搞乙個arm m3的幾千頁手冊。屠龍寶刀已經在手,啥問題都不虛。然後配上jlink,除錯起飛。

最後說專案質量,那就是另乙個問題和stm32問題沒那麼大。

10樓:硬體實戰君

微控制器需要在實踐中學習,從你的描述中可以看出,你應該已經了解了微控制器的基礎知識。並且會設計電路板。

如果還是單一的學習微控制器的某個功能,進步進步就比較緩慢,理解也不是很清楚。

這時你可以做一些專案,從專案勾思,到需求分析,然後電路設計,最後在進行除錯並且書寫專案總結。經過幾個專案相信你會對微控制器有個新的認識。

這裡推薦個好玩的專案:

1:差速運動機械人。

需要硬體:直流電機,機械人底盤,控制器(包括微控制器,電機驅動電路,感測器介面,通訊介面),電池。

可了解微控制器知識:定時器輸出PWM訊號,ADC採集電池電壓,定時器輸入捕獲(用於超聲波感測器),串列埠。

可以了解的控制演算法:差速控制演算法,PID演算法,濾波演算法。

通過簡單的專案實踐,可以用到很多微控制器內部資源,互相配合更能使你了解微控制器。

11樓:freshman

我當時也是積累了很久很長時間內覺得會也不會然後大二接了個專案,做了乙個無人機控制系統 ,從硬體底層驅動到各種串列埠呀spi iic 呀藍芽射頻 WiFi通訊啦 ... 再到RTOS 做完就全通了(但也就用多少會多少)

還是依託具體專案會多少會什麼到什麼程度就看需要多少了東西那麼多你全學是學不完的

然而研究生開始FPGA...又是另外乙個故事了....

12樓:luogu

你以為本科生不自學麼?學校教的都是啥呀!

力不從心,那就是基礎沒學通,專案做的少,玩多了就懂了,最後你發現,幹的還是演算法。。。

為什麼我學了幾天 STM32 感覺一臉茫然?

purewater1 C語言學好了嗎,這才是最關鍵的,現在有hal庫和cubemx,基本就是純軟體程式設計了,你就理解為用C語言去操作微控制器的各個引腳就行了,就這麼回事。之後外設和時鐘樹慢慢學,這個很複雜,不過積累積累就會了。 大漠涼茶 1.自學茫然的話,建議報個班,節約時間,見效也快!2.已經在...

感覺stm32太簡單是一種自負嗎?

王旭東 stm32有m3 m4 m7核心,如果你能做到心中無惑,成為乙個活著的Reference Manual,那確實相當牛批,有自負的資本。 煒淋 不是,是無知,因為大多數情況下呼叫一些已有的韌體庫或者hal庫,甚至用已知的開源庫,稍微學習能力強一點的認真學一下很快就能掌握,然後在短時間內開發出來...

學了stm32後,繼續下去還應該學些什麼?如果想學無人機開發,應該學什麼

Justa 通訊專業的,自己學了stm32f1和f4系列,做出來智慧型小車,帶攝像頭,LCD,六軸感測器藍芽等程度,各種協議也能簡單應用,linux嵌入式也在學習。模電,數電等學的還可以。如果繼續嵌入式的話,還應該學些什麼。如果想學無人機開發,應該學什麼。還有要不要學習資料結構與演算法?1.繼續學什...