原创 STM32用寄存器點亮LED燈

寄存器:實際上就是cpu裏面的東西 每個單元都有不一樣的功能,根據功能給這些存儲單位取別名,這個別名就是我們所說的寄存器。 寄存器的映射:給寄存器分配地址的過程就叫作寄存器的映射。 新建工程: 新建工程需要手動創建main.c

原创 RCC—使用HSE配置系統時鐘

RCC—使用HSE配置系統時鐘 芯片提供時鐘就要有時鐘樹 時鐘樹在參考手冊RCC章節開頭就有(這裏的時鐘樹看到感覺眼睛打了馬賽克,小弟截圖技術有限) 什麼是晶振? 晶振:晶體振盪器,用於各種電路中產生振盪頻率,每個單片機裏都會有

原创 FMC擴展SDRAM

開發平臺 F429 標準庫 SDARM 如何控制SDRAM 控制線:控制SDRAM需要命令去控制,控制線在不同狀態下形成不同的命令 地址線:用來選取地址的,分成A類線和BA類,A是行和列的地址總線,BA是用來選取BANK的

原创 Proteus仿真基於stm32的PM2.5報警器

要求: 1.使用stm32做主控,芯片自選 2.使用LCD1602顯示PM2.5的上下限值,並顯示PM2.5的當前值 3.使用按鍵調節上下限的值 4.使用滑動變阻器代替PM2.5吸合傳感器 5.使用ADC0832,測量滑動變阻器的

原创 RTC

開發平臺 標準庫 野火F429開發板 RTC——實時時鐘 由RTC框圖可以看出,使用日曆功能,只需要三步就可以了 (1)選擇RTC的時鐘源 如何選擇時鐘源:有HSE、LSE、LSI,一般使用LSE作爲時鐘源,LSI穩定性差

原创 硬件I2C驅動MPU6050

I2C I2C有兩條總線線路,分別是SCL(時鐘線)和SDA(數據線)。 I2C的時序非常重要:讀數據和寫數據的時序有點不一樣,在寫程序的時候就體現得到。 I2C的SCL高電平時有效,SDA高電平爲1,低電平爲0。 I2C的驅動:

原创 RCC 使用HSE/HSI配置系統時鐘

開發平臺 野火F429開發板 標準庫 配置系統時鐘首先要學會看時鐘樹,f429主頻爲180MHZ 時鐘樹 查看手冊 時鐘樹如下圖 現在我需要用到的時鐘總線主要是:AHB、APB1、APB2 其他的以後用到的時候再看吧 1.HSE

原创 移植RTT到STM32

移植RTT到STM32:準備一個工程包括LED驅動和串口驅動 1.首先到KEIL官網下載RTT軟件包 2.把軟件包的文件放在你準備的工程裏面 3.打開工程,新建組,並把對應的文件添加進去 4.添加libcpu的時候,我用的是

原创 USART——串口通訊

開發平臺 野火F429開發板 標準庫 通訊基本概念 同步通訊和異步通訊 同步通訊和異步通訊的區別在於有沒有時鐘信號線 全雙工、半雙工、單工通訊 全雙工可以收發同時進行 半雙工可以收發但不可同時進行 單工只能收或發 USAR

原创 3D封裝創建

AD版本 Altium Designer 18.1.9 PCB加了3D封裝很好看 添加3D封裝 點擊菜單欄的放置 點擊3D元件體 按tab鍵,添加3D封裝的路徑,當然也可以自己畫,但是別人的比較好看 添加後,看準位置

原创 SPI

開發平臺 野火開發板F429 標準庫 SPI SPI也是通訊協議,通常會拿去和I2C做比較。 SPI比I2C的數據線要多一點,可是通訊速率快了很多 SPI總線上也是可以掛載多個外設的,但不同的是SPI外設並沒有設備地址,所以每

原创 STM32新建工程

固件庫:固件庫就是把操作寄存器的代碼封裝成函數給用戶操作寄存器實現想要的功能 用固件庫操作寄存器,新建工程的步驟: 1.在本地新建一個文件夾,存放庫文件 CMSIS存放內核相關的頭文件、啓動文件和system _stm32f4

原创 AD繪圖快捷鍵

AD版本 Altium Designer18.1.9 AD常用的快捷鍵 查看快捷鍵 1.菜單欄任意位置右鍵如下圖 2.點擊Customizing 3.點擊ALL查看全部快捷鍵 自定義快捷鍵 有一些操作是沒有快捷鍵的,但是

原创 STM32 高級定時器 輸出PWM (用DHT11測得的溫度去調節RGB燈的亮度)

開發平臺 野火STM32F429開發板 使用標準庫開發 高級定時器 高級定時器其實就是基本定時器加上輸入捕獲、輸出比較和斷路死區,所以有四個初始化函數: 定時器時基初始化函數 TIM_TimeBaseInit(TIM_Typ

原创 DMA

開發平臺 野火開發板F429 標準庫 DMA(直接存儲區訪問) DMA可以數據的高效傳輸,數據移動過程無需經過任何CPU的操作和控制。 F4支持:存儲器到存儲器、存儲器到外設、外設到存儲器 F4有兩個DMA控制器:DMA1和