stm32教程 stm32達(dá)到什么程度叫精通?
stm32達(dá)到什么程度叫精通?我們正在招聘精通STM32單片機(jī)的高級(jí)工程師,但遺憾的是,很少有人能達(dá)到我們的標(biāo)準(zhǔn)。我們現(xiàn)在的工資是2萬(wàn)5千-3萬(wàn),北京。我們來(lái)談?wù)勎业氖炀毘潭?。我非常熟悉STM32的內(nèi)
stm32達(dá)到什么程度叫精通?
我們正在招聘精通STM32單片機(jī)的高級(jí)工程師,但遺憾的是,很少有人能達(dá)到我們的標(biāo)準(zhǔn)。我們現(xiàn)在的工資是2萬(wàn)5千-3萬(wàn),北京。我們來(lái)談?wù)勎业氖炀毘潭取?/p>
我非常熟悉STM32的內(nèi)部功能模塊。例如,如果我們的產(chǎn)品需要加密這個(gè)芯片,你能提供什么方案,需要操作哪些寄存器,過(guò)程是什么,批量生產(chǎn)是否可行。
能快速定位問(wèn)題并提出解決方案,例如,一個(gè)簡(jiǎn)單的例子,開(kāi)發(fā)一個(gè)單板,串口不輸出數(shù)據(jù),如果發(fā)現(xiàn)問(wèn)題,從哪里入手,是否能從線索中找到問(wèn)題的本質(zhì)。
IAP升級(jí)是高級(jí)必修課,如何編寫bootloader,如何在flash中劃分bootloader和app,如何處理燒錄錯(cuò)誤,flash是否足夠,這些都需要你去考慮
標(biāo)準(zhǔn)庫(kù)函數(shù)是在st之前引入的,包括注冊(cè)版本和庫(kù)函數(shù)版本。注冊(cè)版本使用起來(lái)很麻煩。您需要檢查每個(gè)設(shè)置的芯片數(shù)據(jù)表。優(yōu)點(diǎn)是您可以熟悉芯片的寄存器配置。庫(kù)函數(shù)是基于寄存器版本的二次包
介紹,它的優(yōu)點(diǎn)是寄存器版本的缺點(diǎn),使用方便,不再需要手動(dòng)配置寄存器,使用更方便。但它的缺點(diǎn)是Hal的優(yōu)點(diǎn),即每次修改MCU函數(shù)時(shí),都需要手工修改函數(shù),而且自修改不能保證正確性,不同MCU之間的程序代碼移植性不強(qiáng)。
Hal library,Hal是hardware abstraction layer的縮寫,中文名為:hardware abstraction layer,Hal library項(xiàng)目一般使用cube軟件生成項(xiàng)目。Hal庫(kù)是ST公司針對(duì)STM32單片機(jī)開(kāi)發(fā)的最新抽象層嵌入式軟件,更便于實(shí)現(xiàn)STM32產(chǎn)品的最大可移植性。其優(yōu)點(diǎn)是開(kāi)發(fā)工程師不需要關(guān)注MCU模型,只需要專注于功能軟件的開(kāi)發(fā)工作。它是未來(lái)的主要發(fā)展方向,并在不斷更新。建議您在正常使用時(shí),它會(huì)自動(dòng)更新或關(guān)閉。否則,將在更新前調(diào)試的代碼將無(wú)法正常工作。設(shè)置多維數(shù)據(jù)集軟件的方法點(diǎn)幫助,然后選擇手動(dòng)更新。詳見(jiàn)圖。
根據(jù)我們的工程師和我的研發(fā)經(jīng)驗(yàn),我們一開(kāi)始使用標(biāo)準(zhǔn)庫(kù)函數(shù)。后來(lái)我們發(fā)現(xiàn),St推出Hal庫(kù)后,我們逐漸轉(zhuǎn)向Hal庫(kù)的開(kāi)發(fā)。它的優(yōu)勢(shì)在于軟件代碼在不同芯片之間具有很強(qiáng)的可移植性,并且cube軟件生成的項(xiàng)目指定了自己代碼的位置。如果不按規(guī)定編寫,cube再次生成項(xiàng)目時(shí)會(huì)覆蓋自己的代碼,進(jìn)一步增強(qiáng)了代碼的可移植性。
另外,如果需要修改MCU的功能,如添加新的GPIO或串口,在使用標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí),需要復(fù)制其他串口的初始化代碼,然后手動(dòng)修改。使用Hal庫(kù)時(shí),您不需要這樣做。您只需將設(shè)置添加到多維數(shù)據(jù)集并生成它們。
多維數(shù)據(jù)集會(huì)自動(dòng)為您生成初始化代碼。
綜上所述,建議新手直接使用Hal庫(kù),使用起來(lái)更方便,開(kāi)發(fā)所需的軟件功能也更快。復(fù)雜的寄存器配置工作可以交給cube軟件,這也符合未來(lái)發(fā)展的主流思路。
stm32是用hal庫(kù),還是標(biāo)準(zhǔn)庫(kù)?懂行的介紹一下?
51單片機(jī),STM32單片機(jī)用匯編或C語(yǔ)言,現(xiàn)在基本上都用C語(yǔ)言編程,Arduino有自己的編程環(huán)境,用戶也用C語(yǔ)言編程。
51單片機(jī)進(jìn)入中國(guó)比較早,我用匯編編程比較早。我在大學(xué)時(shí)學(xué)過(guò)匯編編程,但現(xiàn)在我用C語(yǔ)言編程,匯編已經(jīng)不可用了。Keil是51單片機(jī)的通用編程環(huán)境?,F(xiàn)在keil更新為keil5。下面是51單片機(jī)keil的編程環(huán)境。
STM32微控制器是由STM32半導(dǎo)體公司推出的具有高性價(jià)比和豐富片上資源的32位微控制器。我一直在使用這一系列的微控制器,它們都是用C語(yǔ)言編程的。官方庫(kù)函數(shù)和Hal庫(kù)都是用C語(yǔ)言編寫的,盡管有些函數(shù)是用匯編語(yǔ)言存儲(chǔ)的。STM32單片機(jī)采用keil-MDK編程。
Arduino是一個(gè)非常成功的開(kāi)源硬件,并且有自己的開(kāi)發(fā)環(huán)境。它封裝了底層寄存器設(shè)置。用戶不需要自己配置寄存器,可以調(diào)用封裝的函數(shù)。他們可以從官方網(wǎng)站下載編程ide。Arduino旨在培養(yǎng)用戶對(duì)編程的興趣,簡(jiǎn)化技術(shù)難度,因此非常受歡迎。
在用戶級(jí)別,C語(yǔ)言編程現(xiàn)在是主流。C語(yǔ)言的可移植性和可讀性比匯編語(yǔ)言有很大的優(yōu)勢(shì)。很多人都在使用匯編編程,尤其是在底層。