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