56、SysTick的中斷實(shí)現(xiàn)可以有兩種方式:循環(huán)等待和中斷法。推薦用循環(huán)等待,中斷法可能會出問題而且占用資源。
57、部分I/O引腳是5V兼容的。單個(gè)I/O的最大驅(qū)動電流和灌入電流均為25mA。整個(gè)芯片的電流為150mA
58、KEIL支持位段操作,可以利用C語言中的位段知識定義位段結(jié)構(gòu)體,然后對單獨(dú)的寄存器進(jìn)行單獨(dú)的位操作。
59、關(guān)于內(nèi)部上下拉電阻的設(shè)置:如果外部的按鍵另一頭接地,那么需要設(shè)置成上拉電阻。(理由是當(dāng)沒有按下按鍵時(shí),由于上拉,輸入為高電平;按下時(shí),由于外部接地,輸入為低電平。)同理,如果外部的按鍵另一頭接高電平,那么需要設(shè)置成下拉電阻。
60、串口中斷TXE和TC的區(qū)別:其實(shí)很明顯,一個(gè)是發(fā)送寄存器空標(biāo)志,一個(gè)是發(fā)送完成標(biāo)志。因?yàn)榇谠诎l(fā)送的時(shí)候首先需要把發(fā)送寄存器中的數(shù)據(jù)移位到移位寄存器(影子寄存器)后再串行發(fā)送出去。所以當(dāng)發(fā)送寄存器DR空時(shí)說明現(xiàn)在可能正在往外面發(fā)送數(shù)據(jù),數(shù)據(jù)可能還沒有發(fā)送完。但是發(fā)送完成不一樣,他是在移位寄存器將本次數(shù)據(jù)全部移位完成后設(shè)置的標(biāo)志位(也就是發(fā)送完了停止位)。這么看來:TXE允許程序有更充裕的時(shí)間填寫TDR寄存器,保證發(fā)送的數(shù)據(jù)流不間斷。TC可以讓程序知道發(fā)送結(jié)束的確切時(shí)間,有利于程序控制外部數(shù)據(jù)流的時(shí)序。
61、窗口看門狗顧名思義有一個(gè)窗口,這個(gè)窗口的橫坐標(biāo)為時(shí)間,意思是在指定的時(shí)間范圍內(nèi)刷新寄存器,否則單片機(jī)復(fù)位。窗口的上限由人來設(shè)定W[6:0],下線定死為0x40Twwdg=(4096×2^WDGTB×(T[5:0]+1)) /Fpclk1;Twwdg為超時(shí)時(shí)間ms,F(xiàn)pclk1為APB1時(shí)鐘KHz,
62、TIMx通用定時(shí)器有4個(gè)獨(dú)立通道,分別可以用來作為:輸入捕獲、比較輸出、PWM生成、單脈沖模式輸出。
63、定時(shí)器的時(shí)鐘來源有4個(gè):內(nèi)部時(shí)鐘(CK_INT),外部時(shí)鐘模式1(TIx),外部時(shí)鐘模式2(ETR),內(nèi)部觸發(fā)模式(ITRx,這個(gè)用來定時(shí)器的同步)
64、定時(shí)器中斷溢出更新時(shí)間:Tout=((arr+1)*(psc+1))/Tclk,ARR為自動裝載寄存器(1~65535)、PSC為分頻系數(shù),TCLK為輸入時(shí)鐘頻率(Mhz)
65、PWM1和PWM2模式的區(qū)別僅在于相位的180度。前者高電平時(shí),后者低電平。感覺好雞肋,OCxREF極性就可以實(shí)現(xiàn)這個(gè)功能。
66、定時(shí)器輸入捕捉有一個(gè)濾波器,顧名思義濾波器起到的就是濾波的作用,在捕捉外部信號時(shí),信號可能不穩(wěn)定,此時(shí)需要濾波:當(dāng)檢測到有外部輸入時(shí),需要再連續(xù)采樣N次如果確定為高電平/低電平,則觸發(fā)響應(yīng)中斷(如果開啟了的話)。
67、電容觸摸屏原理:通過充放電的曲線不同來檢測是否被按下。實(shí)際的實(shí)驗(yàn)過程中,TPAD可以用一塊覆銅區(qū)域來替代,通過電容的充放電常數(shù)來確定是否按下。
68、OLED,即有機(jī)發(fā)光二極管(OrganicLight-Emitting Diode),又稱為有機(jī)電激光顯示(Organic Electroluminesence Display,OELD)。下圖為OLED的GRAM與屏幕的對應(yīng)表
PAGE2單獨(dú)列出來:
69、USART可以操縱SPI設(shè)備。不過最大頻率只有4.5MHz
70、使用I/O口時(shí)應(yīng)該注意的問題
71、ADC的Vref+和Vdda與VSS,Vref-一定要加高質(zhì)量的濾波電容,切靠近單片機(jī)。
72、ADC分為規(guī)則組和注入組,前者有16個(gè)通道,后者有4個(gè)通道。并且16個(gè)通道公用一個(gè)數(shù)值寄存器,注入組的4個(gè)通道分別有一個(gè)數(shù)值寄存器。
73、采樣頻率越高,輸入阻抗要求越小。
74、Stm32進(jìn)入中斷的最短周期為6個(gè)周期
75、
76、
77、FSMC,即靈活的靜態(tài)存儲控制器。能夠與同步或異步存儲器和16位PC存儲器卡接口,STM32的FSMC接口支持包括SRAM、NANDFLASH、NORFLASH和PSRAM等存儲器。
78、平時(shí)所說的U盤里的FLASH存儲器有兩種類型:NANDflash和NOR flash。
NAND FLASH | NOR FLASH |
不能直接運(yùn)行里面的代碼 | 可以直接運(yùn)行里面的代碼 |
寫入和擦除速度快 | 寫入和擦除速度慢 |
讀取速度稍慢 | 讀取速度稍快 |
擦寫周期100萬次 | 擦寫周期10萬次 |
成本低,容量高 | 成本高,容量低 |
一般為串行接口 | 有SRAM接口 |
79、TFT在操作時(shí),可以當(dāng)作外部SRAM來操作,這樣的話,如果單片機(jī)有FSMC接口,就可以使用NORFLASH的SRAM接口去控制,速度非常快。
80、Stm32的的FSMC有4個(gè)256MB的存儲塊,一共尋址1GB的外部存儲器空間。
81、在STM32內(nèi)部,F(xiàn)SMC的一端通過內(nèi)部高速總線AHB連接到內(nèi)核Cortex-M3,另一端則是面向擴(kuò)展存儲器的外部總線。內(nèi)核對外部存儲器的訪問信號發(fā)送到AHB總線后,經(jīng)過FSMC轉(zhuǎn)換為符合外部存儲器通信規(guī)約的信號,送到外部存儲器的相應(yīng)引腳,實(shí)現(xiàn)內(nèi)核與外部存儲器之間的數(shù)據(jù)交互。
82、FSMC中的DATASET和ADDSET的設(shè)置需要參看外部存儲器的時(shí)序圖來確定。一般而言,DATASET指的是數(shù)據(jù)建立時(shí)間,也就是讀/寫信號開始到讀/寫信號停止(上升沿存儲數(shù)據(jù))的持續(xù)時(shí)間。(一般來說寫比讀快!)。而ADDSET指的是地址建立時(shí)間,指的是片選之后到讀/寫操作之前的時(shí)間,這是針對SRAM來說的,如果操縱的是TFT,不存在地址線,所以此時(shí)的ADDSET就是讀/寫信號結(jié)束到RS電平的轉(zhuǎn)換時(shí)間。