0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

77條STM32知識(shí)你不得不知!

GReq_mcu168 ? 來(lái)源:玩轉(zhuǎn)單片機(jī) ? 2020-06-05 14:50 ? 次閱讀

1、 SYSCLK時(shí)鐘源有三個(gè)來(lái)源:HSI RC、HSE OSC、PLL

2、 MCO[2:0]可以提供4源不同的時(shí)鐘同步信號(hào),PA8

3、 GPIO口有兩個(gè)反向串聯(lián)的二極管用作鉗位二極管。

4、 ICode總線,DCode總線、系統(tǒng)總線、DMA總線、總線矩陣、AHB/APB橋

5、在使用一個(gè)外設(shè)之前,必須設(shè)置寄存器RCC_AHBENR來(lái)打開(kāi)該外設(shè)的時(shí)鐘

6、STM32復(fù)位有三種:系統(tǒng)復(fù)位、上電復(fù)位、備份區(qū)域復(fù)位。其中系統(tǒng)復(fù)位除了RCC_CSR中的復(fù)位標(biāo)志和BKP中的數(shù)值不復(fù)位之外,其他的所有寄存器全部復(fù)位。觸發(fā)方式例如外部復(fù)位、看門狗復(fù)位、軟件復(fù)位等;

電源復(fù)位由于外部電源的上電/掉電復(fù)位或者待機(jī)模式返回。復(fù)位除了BKP中的寄存器值不動(dòng),其他全部復(fù)位;

備份區(qū)域復(fù)位的觸發(fā)源為軟件復(fù)位或者VDD和VBAT全部掉電時(shí)。

7、 (NestedVectored Interrupt Controller)NVIC嵌套向量中斷控制器,分為兩種:搶先式優(yōu)先級(jí)(可嵌套)和中斷優(yōu)先級(jí)(副優(yōu)先級(jí),不能嵌套)。

兩種優(yōu)先級(jí)由4位二進(jìn)制位決定。分配下來(lái)有十六種情況:

8、自動(dòng)裝載寄存器和影子寄存器:前者相當(dāng)于51當(dāng)中的溢出設(shè)定數(shù)值。而影子寄存器顧名思義是影子,就是寄存器的另一分copy。

實(shí)際起作用的是影子寄存器,而程序員操縱的則是自動(dòng)裝載寄存器。如果APPE位使能,表明自動(dòng)裝載寄存器的值在下一次更新事件發(fā)生后才寫(xiě)入新值。

否則,寫(xiě)入自動(dòng)裝載寄存器的值會(huì)被立即更新到影子寄存器。

9、計(jì)數(shù)器的數(shù)值與輸出比較器相等時(shí),翻轉(zhuǎn)輸出信號(hào)

10、ARM公司只生產(chǎn)內(nèi)核標(biāo)準(zhǔn),不生產(chǎn)芯片。ST、TI這樣的公司從ARM公司那里購(gòu)買內(nèi)核,然后外加自己的總線結(jié)構(gòu)、外設(shè)、存儲(chǔ)器、時(shí)鐘和復(fù)位、I/O后就組成了自己的芯片。

11、電容觸摸屏原理:通過(guò)充放電的曲線不同來(lái)檢測(cè)是否被按下。實(shí)際的實(shí)驗(yàn)過(guò)程中,TPAD可以用一塊覆銅區(qū)域來(lái)替代,通過(guò)電容的充放電常數(shù)來(lái)確定是否按下。

12、OLED,即有機(jī)發(fā)光二極管,又稱為有機(jī)電激光顯示。下圖為OLED的GRAM與屏幕的對(duì)應(yīng)表

PAGE2單獨(dú)列出來(lái):

13、USART可以操縱SPI設(shè)備。不過(guò)最大頻率只有4.5MHz

14、使用I/O口時(shí)應(yīng)該注意的問(wèn)題

15、ADCVref+和Vdda與VSS,Vref-一定要加高質(zhì)量的濾波電容,切靠近單片機(jī)。

16、在STM32內(nèi)部,F(xiàn)SMC的一端通過(guò)內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲(chǔ)器的外部總線。

內(nèi)核對(duì)外部存儲(chǔ)器的訪問(wèn)信號(hào)發(fā)送到AHB總線后,經(jīng)過(guò)FSMC轉(zhuǎn)換為符合外部存儲(chǔ)器通信規(guī)約的信號(hào),送到外部存儲(chǔ)器的相應(yīng)引腳,實(shí)現(xiàn)內(nèi)核與外部存儲(chǔ)器之間的數(shù)據(jù)交互。

17、FSMC中的DATASET和ADDSET的設(shè)置需要參看外部存儲(chǔ)器的時(shí)序圖來(lái)確定。

一般而言,DATASET指的是數(shù)據(jù)建立時(shí)間,也就是讀/寫(xiě)信號(hào)開(kāi)始到讀/寫(xiě)信號(hào)停止(上升沿存儲(chǔ)數(shù)據(jù))的持續(xù)時(shí)間。(一般來(lái)說(shuō)寫(xiě)比讀快?。?/p>

而ADDSET指的是地址建立時(shí)間,指的是片選之后到讀/寫(xiě)操作之前的時(shí)間,這是針對(duì)SRAM來(lái)說(shuō)的,如果操縱的是TFT,不存在地址線,所以此時(shí)的ADDSET就是讀/寫(xiě)信號(hào)結(jié)束到RS電平的轉(zhuǎn)換時(shí)間。

18、

19、

20、FSMC的三個(gè)配置寄存器:FSMC_BCRx(片選控制配置)、FSMC_BTRx(片選時(shí)序)、FSMC_BWTRx(片選寫(xiě)時(shí)序)。

21、RTC時(shí)鐘配置必須要用到BKP寄存器,BKP寄存器在單片機(jī)復(fù)位、電源復(fù)位、待機(jī)喚醒模式下是不會(huì)更改值的,他的供電由VDD供電,VDD被切斷后自動(dòng)切換至外部的VBAT供電。

22、要修改BKP寄存器的值,必須取消其寫(xiě)保護(hù)的標(biāo)志。BKP寄存器在上電時(shí)自動(dòng)寫(xiě)保護(hù)。

23、Stm32有三種省電模式:

三種省電模式中,耗電量從上到下依次降低,待機(jī)模式的電流僅為2uA。

24、從待機(jī)模式中喚醒單片機(jī)等效于讓單片機(jī)復(fù)位,但是電源寄存器的值會(huì)有一個(gè)標(biāo)志位指示單片機(jī)是被喚醒的,不是被復(fù)位的。

25、ADC的時(shí)鐘不要超過(guò)14MHz,否則轉(zhuǎn)換精度會(huì)下降。最大轉(zhuǎn)換速率為1MHz,即轉(zhuǎn)換周期為1us(14MHz,采樣周期為1.5個(gè)ADC時(shí)鐘)

26、Tcovn=采樣時(shí)間+12.5個(gè)周期。采樣時(shí)間盡量選長(zhǎng)一點(diǎn),這樣精度高一些,但是轉(zhuǎn)換速率下降,這也是有利必有弊。

27、

28、拿ARM7TDMI來(lái)說(shuō),T代表Thumb指令集,D是說(shuō)支持JTAG調(diào)試(Debugging),M意指快速乘法器,I則對(duì)應(yīng)一個(gè)嵌入式ICE模塊。

29、MMU作為嵌入式處理器與應(yīng)用處理器的分水嶺標(biāo)志A具有內(nèi)存管理單元的嵌入式處理器可以定位為應(yīng)用處理器。

這么說(shuō)M系列和A系列的處理器的區(qū)別在于A系列的處理器具有MMU單元可以進(jìn)行內(nèi)存模塊的管理。

30、ARM處理器有兩種狀態(tài):ARM狀態(tài)和Thumb狀態(tài)。

31、這張圖說(shuō)明了一切:Thumb2指令集做了一件很偉大的事情:將16位和32位的指令集融為一體,兼容性非常強(qiáng)!(這么說(shuō)CM3不支持某些32位ARM指令集)

32、

33、MSP是系統(tǒng)復(fù)位后使用的堆棧指針,PSP由用戶的代碼使用。兩個(gè)堆棧指針為4字節(jié)對(duì)齊??!

34、在ARM編程領(lǐng)域中,凡是打斷程序運(yùn)行的事件,統(tǒng)稱為異常(exception)。

35、因?yàn)榇嬖贚R(鏈接寄存器),所以可支持1級(jí)的子程序調(diào)用而不用壓棧到內(nèi)存,大大提高了運(yùn)行速度。這就是說(shuō),我們?cè)诰幊痰臅r(shí)候,一級(jí)調(diào)用是不會(huì)耗費(fèi)太多時(shí)間的,除非是二級(jí)調(diào)用!

36、處理器有兩種操作模式:handler模式和線程模式。

處理器也有兩種特權(quán)分級(jí):特權(quán)級(jí)和用戶級(jí)。這張圖說(shuō)明了一切:復(fù)位進(jìn)入特權(quán)級(jí)線程模式,如果有異常,進(jìn)入特權(quán)級(jí)的handler模式處理異?;蛑袛嗬蹋缓蠓祷刂撂貦?quán)級(jí)線程模式。通過(guò)修改CONTROL寄存器可以進(jìn)入用戶級(jí)線程模式。

37、兩個(gè)高級(jí)定時(shí)器TIM1和TIM8是掛接在APB1總線上

38、STM32的外部中斷是以組來(lái)區(qū)分的,也就是說(shuō)PA0,PB0,PC0單片機(jī)是無(wú)法區(qū)分其中哪個(gè)觸發(fā)的中斷à均為EXIT0線中斷服務(wù)例程。

所以,外部中斷支持16路的中斷分辨率。從另一個(gè)方面來(lái)講,我們可以設(shè)置GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex);來(lái)開(kāi)通中斷線實(shí)現(xiàn)組內(nèi)的不同中斷。

39、DAC有兩個(gè)寄存器,一個(gè)是DHR(Data HoldingRegister)數(shù)據(jù)保持寄存器,一個(gè)DOR(Data Output Register)數(shù)據(jù)輸出寄存器。

真正起作用的是DOR寄存器,該寄存器把值給數(shù)模轉(zhuǎn)換發(fā)生單元輸出以VREF+為參考電壓的電壓值。

如果是硬件觸發(fā)轉(zhuǎn)換,系統(tǒng)將在1個(gè)ABP時(shí)鐘周期后把值給DOR,如果是軟件觸發(fā)轉(zhuǎn)換,時(shí)間為3個(gè)APB時(shí)鐘周期。然后,均等待Tsetting時(shí)間(Typical為3us,Max為4us)后真正輸出電壓值。

40、DAC分8位模式和12位模式,其中后者可以選擇左右對(duì)齊

41、DMA仲裁器分為軟件和硬件兩種。軟件部分分為4個(gè)等級(jí),分別是很高優(yōu)先級(jí)、高優(yōu)先級(jí)、中等、低。硬件部分由通道的大小來(lái)決定優(yōu)先級(jí),越低優(yōu)先級(jí)越高。

42、DMA有一個(gè)實(shí)時(shí)的傳輸數(shù)據(jù)量寄存器叫做DMA_CNDTR,最大值為65535,存放的是當(dāng)前傳輸所要傳輸?shù)臄?shù)據(jù)量。當(dāng)數(shù)據(jù)量變?yōu)?時(shí),表明傳輸完成。

43、CAN總線(ControllerArea Network)。CAN控制器根據(jù)兩根線上的電位差來(lái)判斷總線電平,總線電平又分為顯性電平和隱性電平,二者必居其一。

44、CAN總線具有6個(gè)特點(diǎn):

1、多主控制

2、系統(tǒng)若軟性

3、通訊速度較快,通訊距離較遠(yuǎn)

4、具有錯(cuò)誤檢測(cè)、錯(cuò)誤通知和錯(cuò)誤恢復(fù)功能

5、故障封閉,當(dāng)總線上的設(shè)備發(fā)生連續(xù)故障錯(cuò)誤時(shí),CAN控制器會(huì)把改控制器踢出總線

6、連接節(jié)點(diǎn)多。理論上可以無(wú)限制加載,但是受到時(shí)間延遲和電氣負(fù)載的限制,實(shí)際數(shù)目是有限制的。降低傳輸速度可以適當(dāng)增加可掛接負(fù)載個(gè)數(shù)。

45、CAN協(xié)議有兩個(gè)標(biāo)準(zhǔn),ISO11898(針對(duì)125kbps~1Mbps的高速速率)和ISO11519-2(125kbps以下的低速速率)

46、

47、CAN協(xié)議的有5種類型的幀:數(shù)據(jù)幀、遙控幀、錯(cuò)誤幀、過(guò)載幀、幀間隔。其中前兩種幀有標(biāo)準(zhǔn)格式(11位ID)和擴(kuò)展格式(29位ID)。

48、數(shù)據(jù)幀構(gòu)成:

(1) 幀起始。表示數(shù)據(jù)開(kāi)的段幀起始。

(2) 仲裁段。表示該幀優(yōu)先級(jí)的仲裁段。

(3) 控制段。表示數(shù)據(jù)的字節(jié)及保留位段。

(4) 數(shù)據(jù)段。數(shù)據(jù)的內(nèi)容,一幀可發(fā)送0~8個(gè)字節(jié)的數(shù)據(jù)。

(5) CRC段。 檢查幀的傳輸錯(cuò)誤段。

(6) ACK段。 表示確認(rèn)正常接收的段。

(7) 幀結(jié)束。表示數(shù)據(jù)的段幀結(jié)束。

49、Stm32f103系列只有一個(gè)CAN控制器,有3個(gè)發(fā)送郵箱和3級(jí)深度的2個(gè)FIFO,14個(gè)過(guò)濾組器。

50、STM32的每個(gè)過(guò)濾組可以配置為1個(gè)32位過(guò)濾器和2個(gè)16位過(guò)濾器。除此之外,還可以配置為屏蔽位模式(ID+屏蔽)和標(biāo)識(shí)符列表(ID和屏蔽寄存器均用來(lái)做ID寄存器)模式。

51、CAN接收到有效報(bào)文被放置在3級(jí)郵箱深度的FIFO中,F(xiàn)IFO完全由硬件來(lái)管理。

52、CAN總線的波特率

53、觸摸屏一般分為電阻式觸摸屏和電容式觸摸屏。前者檢測(cè)觸摸的位置原理是利用觸摸屏控制器中的A/D轉(zhuǎn)換器經(jīng)過(guò)兩次A/D讀值后得出X和Y的坐標(biāo)值。注意:這個(gè)X和Y的值是相對(duì)于觸摸屏的,而非LCD屏。

所以在這里需要注意兩個(gè)概念:觸摸屏和LCD屏。這是兩個(gè)不同的概念,也是兩個(gè)不同的物理結(jié)構(gòu),其中電阻觸摸屏是由上下兩個(gè)導(dǎo)電層中間夾著一層非常薄的透明隔層;而LCD就是指顯示屏。

54、電阻觸摸屏有X和Y、X和Y的比例因子、坐標(biāo)軸方向、偏移量。LCD也有自己的這些參數(shù)。兩者完全不相干,所以在定位的時(shí)候需要進(jìn)行坐標(biāo)轉(zhuǎn)換。公式:

通過(guò)對(duì)屏幕的四個(gè)點(diǎn)進(jìn)行校準(zhǔn),得到四元一次方程,求解即可。

55、NEC協(xié)議的數(shù)據(jù)幀格式:同步碼頭、地址碼、地址反碼、控制碼、控制反碼。同步碼由一個(gè)9ms的低電平和一個(gè)4.5ms的高電平組成,地址碼、地址反碼、控制碼、控制反碼均是8位數(shù)據(jù)格式。按照低位在前,高位在后的順序發(fā)送。

56、NEC協(xié)議在發(fā)送的時(shí)候,會(huì)有560us的38KHz的載波信號(hào),而在接收的時(shí)候這部分載波信號(hào)被認(rèn)定為低電平,而剩余的(2.25ms-650us)的邏輯“1”和(1.12ms-650us)的邏輯“0”時(shí)間則被認(rèn)定為高電平。

57、在單位時(shí)間內(nèi)的位移被定義為速度,速度有線速度和角速度之分,分別對(duì)應(yīng)兩種傳感器測(cè)量這兩種不同的速度:線速度傳感器(加速度計(jì))、角速度傳感器(陀螺儀)。

前者多應(yīng)用在靜態(tài)或者低慢速運(yùn)動(dòng)中的姿態(tài)求解,后者多應(yīng)用在動(dòng)態(tài)運(yùn)動(dòng)中姿態(tài)求解。

58、根據(jù)標(biāo)準(zhǔn)約定,零加速度(或零 G 準(zhǔn)位)通常定義為相當(dāng)于最大輸出值(12 位輸出為 4096,10 位輸出為 1024 等)一半的輸出。對(duì)于提供 12 位輸出的加速度計(jì),零 G 準(zhǔn)位將等于 2048。

輸出大于 2048 表示正加速度。輸出小于 2048 表示負(fù)加速度。加速度的數(shù)量通常用單位 g (1g = 9.8m/s2 = 重力加速度)表示。

通過(guò)確定測(cè)量的輸出與零 G 準(zhǔn)位之間的差值,然后除以加速度計(jì)的靈敏度(用計(jì)數(shù)/g 或 LSB/g表示)來(lái)計(jì)算加速度。

對(duì)于提供 12 位數(shù)字輸出的 2g 加速度計(jì),靈敏度為 819 計(jì)數(shù)/g 或 819 LSB/g。加速度等于:a = (Aout - 2048)/(819 計(jì)數(shù)/g),單位為 g。

59、加速度計(jì)測(cè)得的加速度的方向和設(shè)備設(shè)定的坐標(biāo)系是相反的,因?yàn)樵肀砻髟跍y(cè)量力的時(shí)候采用的是非慣性系參考系,而我們高中時(shí)代研究的坐標(biāo)系是慣性系參考系,前者在物體進(jìn)行運(yùn)動(dòng)產(chǎn)生加速度時(shí),假想一個(gè)與速度方向相反的力作用在物體上,這個(gè)力就是慣性力;

后者我們說(shuō)不存在慣性力,只說(shuō)存在慣性,因?yàn)樵趹T性坐標(biāo)系中,我們研究的是物體,而非坐標(biāo)系(即假定坐標(biāo)系相對(duì)地球靜止),當(dāng)我們把坐標(biāo)系也考慮在內(nèi)時(shí),當(dāng)坐標(biāo)系運(yùn)動(dòng),就產(chǎn)生了慣性力f,這種力作用會(huì)假想作用在物體上,只是與運(yùn)動(dòng)方向相反。

60、由上可知,加速度計(jì)的本質(zhì)是測(cè)量力而非加速度。

61、NRF24L01工作在2.4GHz的頻段,由于頻段頻率較高,所以傳輸速率較快,為2Mbps。

62、STM32的閃存模塊由:主存儲(chǔ)器、信息塊和閃存存儲(chǔ)器接口寄存器3個(gè)部分構(gòu)成。

主存儲(chǔ)器用來(lái)存放代碼和const常量;信息塊由兩個(gè)部分組成:?jiǎn)?dòng)程序代碼、用戶選擇字節(jié)。

其中啟動(dòng)程序代碼為ST公司自帶的啟動(dòng)程序,用于串口下載。

最后的閃存存儲(chǔ)器接口寄存器用于控制整個(gè)對(duì)閃存區(qū)域的操作。

63、CPU的運(yùn)行速度比FLASH的操作速度快的多,一般FLASH的最快訪問(wèn)速度≤24Mhz。如果CPU的速度超過(guò)這個(gè)頻率,那么在讀取FLASH的時(shí)候必須加入等待時(shí)間(FLASH_ACR設(shè)置)。

64、FLASH編程時(shí),寫(xiě)入必須為半字(16位)。并且在寫(xiě)入的時(shí)候必須保證所寫(xiě)區(qū)域的數(shù)據(jù)必須為0xFFFF。

65、STM32的FSMC有HADDR[27:0],其中[27:26]用來(lái)選擇BANK區(qū)域的4個(gè)不同塊。

剩下的[25:0]則用來(lái)連接外部存儲(chǔ)區(qū)域的地址線FSMC_A[25:0]。

如果數(shù)據(jù)寬度是8bit,此時(shí)的HADDR[25:0]和FSMC_A[25:0]是完全對(duì)應(yīng)的。

如果數(shù)據(jù)寬度是16bit,此時(shí)的HADDR[25:1]和FSMC_A[24:0]是對(duì)應(yīng)起來(lái)的。

需要注意:無(wú)論數(shù)據(jù)寬度是多少,外部的FSMC_A[0]和A[0]總是對(duì)應(yīng)的。

66、關(guān)于LB和UB的信號(hào)控制是由硬件自動(dòng)控制的,當(dāng)AHB的數(shù)據(jù)寬度小于外部存儲(chǔ)器的數(shù)據(jù)寬度時(shí),此時(shí)LB和UB的控制信號(hào)自動(dòng)產(chǎn)生(比如字節(jié)讀取/寫(xiě)入16bit的外部存儲(chǔ)器)。

67、 __attribute__ (函數(shù)屬性、變量屬性、類型屬性等)。如果在使用SRAM時(shí),可以采用u32 sram_array[xx] __attribute__ ((at(0x68000000))代表將外部SRAM的空間全部給了sram_array這個(gè)變量,他具有在at0x68000000這個(gè)地址的屬性。

往里面寫(xiě)值就直接在SRAM里面寫(xiě)值。

68、

內(nèi)存管理有一種方式叫做分塊式內(nèi)存管理。

注意表中的分配方向,從頂?shù)降?。每一?xiàng)對(duì)應(yīng)一個(gè)內(nèi)存塊。里面的數(shù)值代表了內(nèi)存池的狀態(tài):如果為0,表示該內(nèi)存沒(méi)有被分配;如果非0,那么數(shù)值的大小就表示了該塊內(nèi)存被連續(xù)占用的內(nèi)存數(shù)。

比如說(shuō)數(shù)值為20,意思是包括該項(xiàng)在內(nèi)的內(nèi)存塊被連續(xù)占用了20塊分給了指針。

69、SD卡的分類:

一般的SD卡支持兩種傳輸模式:SD卡模式(SDIO)、SPI模式。顯然前面一種是專用模式,所以速度比較快。

70、常用的漢字內(nèi)碼系統(tǒng)有GB2313、GB13000、GBK、BIG5(繁體)。其中GB2313只有幾千個(gè)漢字,而GBK則有2萬(wàn)多漢字。

71、要顯示漢字,采用的方式如果用點(diǎn)陣的形式是不可取的,因?yàn)檫@無(wú)法查找漢字。采用的方式就是內(nèi)碼系統(tǒng)。

GBK標(biāo)準(zhǔn)中,一個(gè)漢字對(duì)應(yīng)2個(gè)字節(jié):前者稱為區(qū)(0x81~0xFE)后者為(0x40~0x7E)和(0x80~0xFE)。前者有126個(gè)區(qū),后者有190,那么可以顯示的漢字?jǐn)?shù)量有126*190=23940個(gè)。

根據(jù)這兩個(gè)值用來(lái)查找字庫(kù),字庫(kù)中存放的還是每個(gè)漢字的點(diǎn)陣數(shù)據(jù)。

這個(gè)字庫(kù)非常大,如果是16*16的字體,那么一個(gè)字體就需要32個(gè)字節(jié),如此說(shuō)來(lái)需要23940*32=748K的空間,可見(jiàn)非常大,所以需要外部的Flash來(lái)存儲(chǔ)這個(gè)字庫(kù)。

72、由于漢字內(nèi)碼系統(tǒng)不具有國(guó)際通用性,但是Unicode幾乎把所有的語(yǔ)言都放置進(jìn)來(lái),這樣在單片機(jī)中操作漢字時(shí),就需要將GBK和Unicode轉(zhuǎn)化。

尤其是在FATFS中,創(chuàng)建中文文件名和讀取中文文件信息時(shí)需要將Unicode換轉(zhuǎn)為GBK后再進(jìn)行修改操作,再反轉(zhuǎn)換成Unicode保存修改。

這么說(shuō),兩者的存在是由于標(biāo)準(zhǔn)的不統(tǒng)一,并且Unicode中只有6064個(gè)漢字,而GBK顯然是一種漢字?jǐn)U展。

73、BMP圖片編碼的順序是從左到右,從下到上。

74、VS1053是一款高性能的數(shù)字音頻解碼芯片,從SD卡中將mp3等音樂(lè)音頻文件通過(guò)SPI送給VS1053后,由其進(jìn)行音頻解碼,輸出音樂(lè)給耳機(jī)。

耳機(jī)驅(qū)動(dòng)可以采用TDA1308芯片,這款芯片為AB類耳機(jī)驅(qū)動(dòng)芯片。

75、IAP(In Application Programming)在應(yīng)用編程是為了后期開(kāi)發(fā)更新程序方便而提出的概念。具體的實(shí)現(xiàn)方法如下圖所示:

在普通編程中,flash中的code是通過(guò)JTAG和ISP等工具下載到單片機(jī)中。

而在IAP編程中,flash被分區(qū)為A和B兩個(gè)區(qū)域,A區(qū)域只允許用USB/USART等方式下載,此區(qū)域作為更新B區(qū)域的代碼用。

B區(qū)域則是用戶的code區(qū)域,真正的代碼在這里被執(zhí)行,放置的就是app。

上圖表示STM32正常運(yùn)行的流程圖,可以看到上電復(fù)位后系統(tǒng)從0x80000004處開(kāi)始運(yùn)行程序,這里放置的是復(fù)位中斷向量,然后跳轉(zhuǎn)至復(fù)位中斷程序入口后再跳轉(zhuǎn)至main函數(shù)運(yùn)行用戶的程序。

上圖表示加入IAP后的STM32程序運(yùn)行流程圖??梢钥吹缴想姀?fù)位后跳到IAP程序的main函數(shù)處運(yùn)行IAP過(guò)程(這個(gè)過(guò)程就是把下面灰底色塊的程序代碼燒進(jìn)B區(qū)域à代碼更新)。

后面的過(guò)程和STM32正常運(yùn)行一樣,如果出現(xiàn)中斷請(qǐng)求,還是跳轉(zhuǎn)到A區(qū)域中的中斷向量表中,然后再跳轉(zhuǎn)到B區(qū)域的中斷服務(wù)入口。

76、USB有四根線,VCC、GND、D+、D-。在USB主機(jī)上,D+和D-均通過(guò)一個(gè)15K的電阻接地,這樣兩條線均為低電平。

在USB設(shè)備中,對(duì)于高速設(shè)備會(huì)在D+通過(guò)一個(gè)1.5K的電阻接到VCC,而低俗設(shè)備會(huì)在D-通過(guò)一個(gè)1.5K的電阻接到VCC。

這樣主機(jī)就可以通過(guò)D+和D-的高電平的到來(lái)來(lái)檢測(cè)是否有設(shè)備接入,并且識(shí)別高低速設(shè)備。

77、UCOSII是一種實(shí)時(shí)操作系統(tǒng),具有執(zhí)行效率高、占有空間小(最小內(nèi)核2KB)、實(shí)施性能優(yōu)良、擴(kuò)展性強(qiáng)和移植性強(qiáng)等優(yōu)點(diǎn)。

UCOS具有多任務(wù)并發(fā)工作的特點(diǎn)(注意,任何時(shí)候只有一個(gè)任務(wù)能夠占用CPU。并發(fā)只是任務(wù)輪流占用CPU而不是同時(shí)工作)。

最大支持255個(gè)任務(wù)并發(fā)工作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 二極管
    +關(guān)注

    關(guān)注

    147

    文章

    9486

    瀏覽量

    165205
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10847

    瀏覽量

    353795
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1182

    瀏覽量

    51741

原文標(biāo)題:77條STM32知識(shí),千萬(wàn)不能錯(cuò)過(guò)!

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【解決方案】提升新能源汽車?yán)m(xù)航能力,不得不知曉的測(cè)量知識(shí)

    前言對(duì)于以新能源車為代表的電動(dòng)出行(E-Mobility)來(lái)說(shuō),續(xù)航里程的提高是最重要的課題之一。為了實(shí)現(xiàn)這一點(diǎn),除了要掌握電池和大功率的動(dòng)力傳動(dòng)系統(tǒng)的狀態(tài)外,還要掌握ECU和電裝設(shè)備等零部件的功耗和暗電流。何為汽車暗電流?暗電流(darkcurrent),指點(diǎn)火開(kāi)關(guān)在OFF的位置(汽車無(wú)工作的狀態(tài),也可以指靜止休眠狀態(tài))時(shí),仍然在流動(dòng)的電流,又可稱為“靜態(tài)
    的頭像 發(fā)表于 09-05 11:22 ?162次閱讀
    【解決方案】提升新能源汽車?yán)m(xù)航能力,<b class='flag-5'>你</b><b class='flag-5'>不得不知</b>曉的測(cè)量<b class='flag-5'>知識(shí)</b>

    不得不知的pcba加工規(guī)則:確保元器件安全可靠

    一站式PCBA智造廠家今天為大家講講PCBA加工如何確保質(zhì)量和性能的穩(wěn)定性?PCBA加工規(guī)則。在PCBA加工生產(chǎn)過(guò)程中,嚴(yán)格遵守操作規(guī)則至關(guān)重要,以確保元器件的安全和可靠性。以下是幾個(gè)基礎(chǔ)而重要的PCBA加工規(guī)則,必須嚴(yán)格遵守: PCBA加工規(guī)則 1. 保持工作環(huán)境的清潔: 在PCBA加工過(guò)程中,工作環(huán)境的清潔直接影響著元器件的安全性和質(zhì)量。工作車間區(qū)域和工作臺(tái)必須保持干凈整潔,禁止出現(xiàn)任何食物、飲料、煙灰缸等物品,嚴(yán)禁吸煙。 2. 縮減PCBA加工步驟:
    的頭像 發(fā)表于 08-26 09:25 ?162次閱讀

    開(kāi)發(fā)攻略之STM32調(diào)試端口的映射

    最近有一個(gè)項(xiàng)目用到了STM32F103RB系列單片機(jī),由于引腳數(shù)量較少,不得不使用到了單片機(jī)的PB3和PB4兩個(gè)引腳。而這兩個(gè)引腳剛好又是STM32系列的JTAG調(diào)試引腳,如果要用于普通IO的功能
    的頭像 發(fā)表于 08-03 08:11 ?294次閱讀
    開(kāi)發(fā)攻略之<b class='flag-5'>STM32</b>調(diào)試端口的映射

    精密空調(diào)—不得不服的精密空調(diào)"黑科技"!逆天了#精密空調(diào)

    精密空調(diào)
    北京匯智天源
    發(fā)布于 :2024年07月20日 12:33:01

    不得不愛(ài)的保護(hù)裝置-安全就這么簡(jiǎn)單

    保護(hù)裝置
    jf_18500570
    發(fā)布于 :2024年07月01日 10:20:02

    工科人關(guān)于T3Ster熱阻測(cè)試儀不得不知道的九大特點(diǎn)

    T3Ster是一款先進(jìn)的半導(dǎo)體器件封裝熱特性測(cè)試儀器,在數(shù)分鐘內(nèi)提供各類封裝的熱特性數(shù)據(jù)。T3Ster專為半導(dǎo)體、電子應(yīng)用和LED行業(yè)以及研發(fā)實(shí)驗(yàn)室的應(yīng)用而設(shè)計(jì)。系統(tǒng)包括易用的軟件部分和硬件部分,T3Ster用來(lái)測(cè)量封裝半導(dǎo)體器件以及其他電子設(shè)備的瞬態(tài)熱特性,測(cè)量的器件包括分離或集成的雙極型晶體管、MOS晶體管、常見(jiàn)的三極管、LED封裝和半導(dǎo)體閘流管,各種封裝類型的器件和微機(jī)電系統(tǒng)的一些部件。因其配備的專業(yè)的設(shè)備和軟件,它也能測(cè)試PWB、
    的頭像 發(fā)表于 04-25 09:12 ?558次閱讀
    工科人關(guān)于T3Ster熱阻測(cè)試儀<b class='flag-5'>不得不知</b>道的九大特點(diǎn)

    關(guān)于MCU選型不得不知的學(xué)問(wèn)

    MCU選得好不好,往往決定著產(chǎn)品和商業(yè)OK不OK。 這個(gè)質(zhì)量,可能是芯片抗干擾強(qiáng)不強(qiáng)?能不能過(guò)產(chǎn)品認(rèn)證? 也可能是在某一溫度能否穩(wěn)定運(yùn)行? 還有可能是有些應(yīng)用外設(shè)有沒(méi)有坑?
    的頭像 發(fā)表于 04-15 10:16 ?361次閱讀

    計(jì)算機(jī)最核心的——CPU

    在CPU的四個(gè)結(jié)構(gòu)中,寄存器的重要性遠(yuǎn)遠(yuǎn)高于其余三個(gè),為什么這么說(shuō)?因?yàn)槌绦蛲ǔJ前鸭拇嫫髯鳛閷?duì)象來(lái)進(jìn)行描述的。而說(shuō)到寄存器,就不得不說(shuō)到匯編語(yǔ)言,說(shuō)到匯編語(yǔ)言,就不得不說(shuō)到高級(jí)語(yǔ)言,說(shuō)起高級(jí)語(yǔ)言也就不得不提及語(yǔ)言的概念。
    發(fā)表于 03-13 14:04 ?1393次閱讀
    計(jì)算機(jī)最核心的——CPU

    手持機(jī)應(yīng)用領(lǐng)域窄?多的是不知道的事!

    手持終端出現(xiàn),讓我們不得不提到物聯(lián)網(wǎng)。今年的物聯(lián)網(wǎng)可以說(shuō)是各行各業(yè)發(fā)展的新思路。面對(duì)新的機(jī)遇,物聯(lián)網(wǎng)技術(shù)提供了更多優(yōu)化的細(xì)節(jié)和可能性。射頻識(shí)別手機(jī)的出現(xiàn)為所有應(yīng)用的實(shí)現(xiàn)提供了完美的硬件保障前提
    的頭像 發(fā)表于 03-12 13:57 ?217次閱讀

    CYW920719B2Q40EVB-01無(wú)法使用WICED_BT_HIDD_EVT_PM_FAILED的原因?

    也無(wú)法正常工作(沒(méi)有數(shù)據(jù)傳輸?shù)?Win 10)。 所以我不得不重啟。 2、記錄 最后一消息是 WICED_BT_HIDD_EVT_PM_FAILED。 我認(rèn)為這與睡眠控制有關(guān)。 我不知道如何避免這種
    發(fā)表于 03-01 06:36

    一不小心就炸機(jī)!不得不知道的,示波器測(cè)試的共地問(wèn)題

    大家都知道示波器的檢測(cè)探頭測(cè)到哪里,哪里就和示波器共地。兩個(gè)不共地的檢測(cè)點(diǎn),一旦被同一個(gè)示波器檢測(cè)時(shí),它們就會(huì)自動(dòng)共地。多通道測(cè)試時(shí),一定要注意這個(gè)問(wèn)題。 1.測(cè)試兩組共地信號(hào) 如下示意圖: 輸入1V的小信號(hào),經(jīng)過(guò)信號(hào)的處理放大,輸出100V的大信號(hào)。 想知道輸出波形是否失真,有時(shí)候肉眼不一定能夠看出來(lái)。這時(shí)候需要測(cè)試輸入波形,再跟輸出波形進(jìn)行對(duì)比。因?yàn)檩斎胼敵鲂盘?hào)都是共地的,所以可以用一般的無(wú)源單端探頭進(jìn)行測(cè)試,如
    的頭像 發(fā)表于 02-27 10:06 ?1228次閱讀
    一不小心就炸機(jī)!<b class='flag-5'>你</b><b class='flag-5'>不得不知</b>道的,示波器測(cè)試的共地問(wèn)題

    PCB設(shè)計(jì)工程師不得不知的法則

    PCB是進(jìn)行設(shè)計(jì)的物理平臺(tái),也是用于原始組件進(jìn)行電子系統(tǒng)設(shè)計(jì)的靈活部件。本文將介紹幾種PCB設(shè)計(jì)黃金法則,這些法則自25年前商用PCB設(shè)計(jì)誕生以來(lái),大多沒(méi)有任何改變,且廣泛適用于各種PCB設(shè)計(jì)項(xiàng)目
    發(fā)表于 12-20 15:57 ?164次閱讀

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”
    的頭像 發(fā)表于 12-14 10:27 ?873次閱讀

    單電源通用儀表放大器解決方案

    不得不說(shuō),理論適可而止,開(kāi)始實(shí)戰(zhàn),先畫(huà)一個(gè)單電源的儀表放大器板子。
    的頭像 發(fā)表于 10-30 14:17 ?860次閱讀
    單電源通用儀表放大器解決方案

    STM32串口通信簡(jiǎn)明知識(shí)

    STM32串口通信簡(jiǎn)明知識(shí)
    的頭像 發(fā)表于 10-25 15:48 ?1219次閱讀
    <b class='flag-5'>STM32</b>串口通信簡(jiǎn)明<b class='flag-5'>知識(shí)</b>