
本文檔主要介紹,在python環(huán)境下,如何開發(fā)嵌入式應(yīng)用程序,以STM32H43板卡為例介紹. 從系統(tǒng)環(huán)境搭建,到編譯,到用python實現(xiàn)硬件控制??勺鳛槿腴T教程。
SPI是單片機(jī)外設(shè)電路中常用的一種通訊方式,適用于近距離通信,通常用于芯片間的通訊,有四根線。 在SPI通訊中總線時鐘和總線相位也兩個比較重要的概念,一般在使用SPI通信時都使用默認(rèn)設(shè)置,所以容易把這兩個參數(shù)忽略。 和大家分享一下SPI通訊、時鐘極性以及時鐘相位的基礎(chǔ)知識。
我們學(xué)習(xí)單片機(jī)的目的就是為了進(jìn)行嵌入式系統(tǒng)的開發(fā),學(xué)好單片機(jī)首先要有一個整體認(rèn)識,下面將簡要介紹一下單片機(jī)應(yīng)用系統(tǒng)的開發(fā)流程。
近日,美國微芯科技公司宣布推出PIC18-Q41和AVR? DB單片機(jī)系列,首次將先進(jìn)的模擬外設(shè)和多電壓操作與外設(shè)間連接相結(jié)合,提高系統(tǒng)集成度和縮短信號采集時間,并提供在單一設(shè)計環(huán)境中操作的便利性和效率。
單片機(jī)的基準(zhǔn)電壓一般為3.3V,如果外部信號超過了AD測量范圍,可以采用電阻分壓的方法,但是要注意阻抗匹配問題。比如,SMT32的模數(shù)輸入阻抗約為10K,如果外接的分壓電阻無法遠(yuǎn)小于該阻值,則會因為信號源輸出阻抗較大,AD的輸入阻抗較小,從而輸入阻抗對信號源信號的電壓造成分壓,最終導(dǎo)致電壓讀取誤差較大。
本文以stm32單片機(jī)進(jìn)行演示,如果MCU沒有做flash讀取或者熔斷保護(hù),則可以通過jlink等燒寫工具直接讀取其Flash上的固件。
國產(chǎn)MCU,市場份額和技術(shù)先進(jìn)性,都無法和國外企業(yè)進(jìn)行相比。國內(nèi)來看,當(dāng)前占據(jù)的主流市場還停留在8位MCU,占比50%。16/32位MCU占比分別為20%。這就意味著,國內(nèi)MCU應(yīng)用領(lǐng)域相對集中在低端電子產(chǎn)品,中高端電子產(chǎn)品市場還在外企手里。
分享一個小技巧,使用MDK編譯器,讓STM32程序HEX文件中加入固件版本信息,估計很多老手都已經(jīng)在使用(你有好的方法歡迎分享,希望我的磚能引來你的玉),該方法獻(xiàn)給新手或初學(xué)者。
單片機(jī)程序?qū)懞弥?,我們都要把程序下載到單片機(jī)的內(nèi)存中,單片機(jī)才會按照程序員的邏輯執(zhí)行命令實現(xiàn)功能。之前也講過下載單片機(jī)的幾種方式,比如ISP下載,JTAG下載,下載文件的格式最常見的是hex文件,這個格式大家都是知道的,還有一種bin文件是單片機(jī)的下載文件。本文詳細(xì)介紹了這兩種格式的區(qū)別。
首先設(shè)定一個兩周入門計劃: 所謂的“兩周”,根據(jù)每個人的時間安排不同而不同。這里列出一個思路,僅供參考。
一個.C文件對應(yīng)一個.H文件是一種良好的編程習(xí)慣,那么.C和.H文件之間的關(guān)系是怎么樣的呢?
晶振是單片機(jī)工作所必不可缺少的元器件,晶振的種類眾多,該如何選擇合適的晶振呢?在用51單片機(jī)設(shè)計電路時,經(jīng)常會用到12M和11.0592M的晶振,有時候11.0592M的晶振用的頻率會更高,為什么一些比較有經(jīng)驗的工程師會更喜歡用11.0592M呢?
這個是有一定的科學(xué)依據(jù)的,這要從早期的TTL邏輯電平說起。 TTL電平邏輯規(guī)范 早期的TTL邏輯電平是5V,所以以5V供電作為主流,如8051單片機(jī)就是5V供電的。隨著技術(shù)的進(jìn)步,人們對電子設(shè)備的功耗越來越敏感,希望電子產(chǎn)品的功耗盡可能的少。減小電子產(chǎn)品功耗最直接的辦法就是降低芯片的供電電源,但是降到多少合適?既能滿足低功耗的需求,又要兼容5V的TTL電平?
本設(shè)計使用了一個4位的數(shù)碼管,為共陽型,為了節(jié)省單片機(jī)的IO口,使用了兩片74HC595作為數(shù)碼管的驅(qū)動芯片,共占用3個IO口。
單片機(jī)是嵌入式系統(tǒng)的核心元件,使用單片機(jī)的電路要復(fù)雜得多,但在更改和添加新功能時,帶有單片機(jī)的電路更加容易實現(xiàn),這也正是電器設(shè)備使用單片機(jī)的原因。那么在單片機(jī)電路的設(shè)計中需要注意的難點有哪些?
學(xué)習(xí)單片機(jī)需要動手,不是照著課本去死記硬背。 所以學(xué)習(xí)單片機(jī)的第一個概念:確定好所學(xué)習(xí)的單片機(jī)具體型號。
學(xué)習(xí)單片機(jī)需要具備一定的電路基礎(chǔ)、數(shù)字電路、模擬電路、信號系統(tǒng)、C語言編程等相關(guān)的基礎(chǔ)知識。單片機(jī)的學(xué)習(xí)包括硬件設(shè)計和編程設(shè)計,早期單片機(jī)用匯編編程的人比較多,現(xiàn)在越來越多的人用C語言進(jìn)行編程。下面和大家分享一下如何快速有效的學(xué)習(xí)單片機(jī)。
8*8點陣是一種應(yīng)用廣泛的顯示器件,像戶外的顯示屏、點陣屏都是由點陣拼接而成。而點陣其實是發(fā)光二極管LED的矩陣。 在驅(qū)動點陣時,雖然具有專用的點陣驅(qū)動芯片,如MAX7219,但是該芯片價格比較高,所以應(yīng)用并沒有很普遍。而74HC595和74HC138的組合來驅(qū)動點陣應(yīng)用卻非常廣泛。
單片機(jī)的GPIO口驅(qū)動能力有限,不能直接驅(qū)動較大功率的負(fù)載,如果負(fù)載的功率較大必須要考慮采用驅(qū)動功率器件的方式,比如說三極管、MOS管以及其他的專用驅(qū)動芯片。下面結(jié)合幾個典型的例子來介紹一下如何提高單片機(jī)的驅(qū)動能力。
單片機(jī)和嵌入式,其實沒有什么標(biāo)準(zhǔn)的定義來區(qū)分他們,對于進(jìn)行過單片機(jī)和嵌入式開發(fā)的開發(fā)者來說,都有他們自己的定義,接下來,就談?wù)勥@兩個概念的深入理解。