原创 STM32 在PC端串口助手上打印中文字符----printf()函數重定向

前言 本博文基於STM32F103ZET6和MDK5.2.6和庫函數V3.5.0開發; 本博文采用七星蟲德飛萊開發板,USB-TTL電路,USART1和串口調試助手; 如有不足,多指教; 串口通信作爲拓展單片機功能的一個外設,其本

原创 STM32 MDK變量顯示"not in scope"的問題解決

直接提供兩種方法的鏈接:(不一定哪一種能用) https://blog.csdn.net/gmpy_tiger/article/details/50395719 https://blog.csdn.net/qlexcel/articl

原创 STM32 對外設基地址,總線外設基地址和寄存器基地址的理解

前言 本博文基於STM32F103ZET6和MDK以及V3.5.0庫函數; 本博文從Cortex-M3內核的尋址空間映射一直聊到庫函數是怎樣配置具體的某一個寄存器; 如有不足之處,多多指教; Cortex-M3存儲器映射 由於ST

原创 STM32 BOOT0和BOOT1對於下載程序的應用

前言 本博文基於STM32F103ZET6和MDK5以及庫V3.5.0編寫; 本博文以原子開發板爲例; 如有不足之處,還請多多指教; 其實本沒有必要寫這篇文章,因爲只要按照開發板配套的教程去做就可以對芯片寫入程序即可,而且開發板上

原创 C51單片機 通過定時器模擬輸出多路PWM

前言 本博文基於STC89C52RC和keil5 C51開發; 如有不做之處還請多多指教; 需要用到的東西 利用定時器0完成(定時器1也一樣); 利用P1.0~P1.3完成4路PWM的輸出(不同的佔空比); 代碼如下: #in

原创 STM32輸入捕獲--“PWM輸入模式”(可拓展多路同時捕獲)

前言 博文基於STM32F103ZET6和標準固件庫V3.5.0在MDK5環境下開發; 本博文只討論輸入捕獲的PWM輸入模式,這個模式是STM32輸入捕獲檢測脈寬和頻率的一種硬件處理機制,說白了就是STM32芯片專門用來進行對PWM

原创 C51單片機 定時器模擬單路輸出PWM

前言 本博文基於STC89C52RC和Keil5 C51環境開發; 如有不足之處還請多多指教; 需要的東西 定時器0; 管腳P1.0; 代碼如下: #include <STC89C5xRC.H> #define ENABLE

原创 STM32 PWM佔空比和信號週期的控制因素分析

前言 博文基於STM32F103ZET6芯片,標準固件庫3.5.0和MDK5編寫; 博文並不討論PWM的基礎知識,而是直接去談對PWM靈活的控制問題;想全面瞭解的可以看看我寫的專門針對PWM的博客: https://blog.csd

原创 通信的三種類型

從傳輸方向上可以分爲單工通信、半雙工通信、全雙工通信三類。 單工通信就是指只允許一方向另外一方傳送信息,而另一方不能回傳信息。比如電視遙控器、收音機廣播等,都是單工通信技術。 半雙工通信是指數據可以在雙方之間相互傳播,但是同一時刻只能

原创 STM32的8種GPIO輸入輸出模式講解

前輩的總結果然是厲害: https://blog.csdn.net/baidu_37366055/article/details/80060962

原创 STM32使用systick定時器定義硬件精準延時函數

前言 博文基於STM32F103ZET6和標準固件庫V3.5.0在MDK5環境下開發; 本博文討論的是芯片不運行操作系統的情況下完成1s的延時功能; 如有不足之處還請多多指教; SysTick—系統滴答定時器是什麼? 是一個24位

原创 STM32 標準固件庫的下載,文件介紹和工程的建立(綜合)

前言 博文基於ARM Cortex-M3內核的STM32F103ZET6芯片和標準3.5.0庫; 博文介紹標準庫中個文件夾的含義和以及一個簡單工程的建立; 如有不足之處還請博友多多指教; 標準庫的下載 標準庫的獲取方式: 第一步:

原创 C語言的枚舉

前言 本博文基於VC++開發調試; 本博文只是對於枚舉的一個介紹; 什麼是枚舉 試想一下,當一個值只會在幾個有限的範圍值內波動時,是否可以將這幾個值包裹起來,來避免往後的程序中使用這個值的時候需要從新賦值的情況,比如每週的7天,從

原创 C語言的共用體

前言 本博文基於VC++6.0開發調試; 本博文只是對於共用體的一個簡述; 什麼是共用體 概念:字面意思理解,就是不少於一個東西共同使用一個物體;在C語言中,共同體是一個數據結構,所以共同體就是不同變量共同享受一段內存,這種數據類

原创 C語言結構體

前言 本博文基於VC++6.0開發調試運行; 本博文知識對結構體的一個簡介; 什麼是結構體 一般的變量定義都是獨立的,變量與變量之間或許有聯繫,比如記錄一個人的個人信息(身高,體重,年齡等)時需要定義分別幾個變量,並且調用時需要分