① 在學STM32F4單片機 RTC實驗裡面有這么一句代碼 (*(u32*)temp)=data這是什麼意思
強制類型轉換。
u32 是一個自定義的數據類型。
u32*是一個指針類型。
temp 前面加(u32*)是把temp強制轉換成 指向u32類型的指針。
前面再加一個*,是訪問指針指向的地址。
temp是一個整數,這個整數實際上是一個內存地址,這句的意思是把data內容放到temp所指向的地址的內存單元中。
這實際上是一個低層訪問,除了匯編語言,就數C語言做這種低層操作比較簡單,所以,單片機大都用C語言編程。
② stm32f4單片機 如何讓IO口輸出低電平
STM32代表ARM Cortex-M內核的32位微控制器,具有高性能,實時性強,低功耗,便於低電壓操作等優點,同時還易於開發。
按內核架構分,有STM32F103「增強型」系、STM32F101「基本型」系列、STM32F105、STM32F107「互聯型」系列。其中增強型系列時鍾頻率達到72MHz,是同類產品中性能最高的產品;基本型時鍾頻率為36MHz,以16位產品的價格得到比16位產品大幅提升的性能,是32位產品用戶的最佳選擇。
兩個系列都內置32K到128K的快閃記憶體,不同的是 SRAM的最大容量和外設介面的組合。時鍾頻率72MHz時,從快閃記憶體執行代碼,STM32功耗36mA,是32位市場上功耗最低的產品,相當於0.5mA/MHz。
在STM32F105和STM32F107互連型系列微控制器之前,意法半導體已經推出STM32基本型系列、增強型系列、USB基本型系列、互補型系列;新系列產品沿用增強型系列的72MHz處理頻率。
內存包括64KB到256KB快閃記憶體和 20KB到64KB嵌入式SRAM。新系列採用LQFP64、LQFP100和LFBGA100三種封裝,不同的封裝保持引腳排列一致性,結合STM32平台的設計理念,開發人員通過選擇產品可重新優化功能、以最小的硬體變化來滿足個性化的應用需求。
③ 單片機已知定時時間如何設計PSC和ARR的值
對於STM32F4開發板,先弄清APB1的時鍾頻率是42M,是AHB時鍾168M經4分頻得到的,由於分頻系數不為1,因此CK-INT的頻率是APB1時鍾的2倍84M,可知
定時時間 us=(ARR+1)(PSC+1)/84M
取PSC=83, 剛好一個脈沖1us,則定時時間 us=(ARR+1),
定時1000US,ARR取999 定時100US,ARR取 99
16位定時器 最大可定時 65535 US。
取PSC=167, 則一個脈沖2us
取PSC=839, 則一個脈沖10us
取PSC=8399, 則一個脈沖100us 這時最大可定時 6.5535 S。
取PSC=83999 不行,超過16位寄存器的允許范圍
對於STM32F1開發板,APB1的時鍾頻率是36M,是AHB時鍾72M經2分頻得到的,由於分頻系數不為1,因此CK-INT的頻率是APB1時鍾的2倍即72M。