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