原创 持續加班ing

儘量抽出時間更新啦~

原创 STM32 串口配置的波特率 與 實際波特率不同解決方案

現象初始化配置stm32串口1的波特率爲115200,設置串口調試助手的波特率也爲115200。接收數據時,發現數據爲亂碼。當將串口調試助手的波特率改爲76800時,能夠正確接收到數據。問題:stm32實際波特率與設置波特率不同原因和解決

原创 STM32F10x 單片機中將PB3、PB4、PA15配置爲普通IO使用

    因爲STM32F1系列是pin to pin設計,F1系列的所有PB3、PB4、PA15功能一致。   如下圖, 從STM32F103C8T6的數據手冊可以看到,PB3、PB4、PA15的主要功能(第一功能,main functi

原创 單片機使用狀態機實例 - SIM800C TCP/UDP連接

狀態機除了在Verilog HDL等硬件描述語言中實現線性的操作流程,還可以在單片機中完成一個順序的事件通過狀態機的流程,使軟件實現流程更加清晰。下圖爲使用PIC單片機實現SIM800 GPRS初始化配置和通過UDP協議,連接xxx.co

原创 單片機 單個按鍵和兩個按鍵同時按下 檢測實現

兩個按鍵 Key1和Key2,三個按鍵實現三種功能Key1單獨按下Key2單獨按下Key1和Key2同時按下if(Key1 == 0) { __delay_ms(TWOKEY_DELAY); //兩個按鍵按下的

原创 CH455 數碼管驅動以及鍵盤控制芯片 應用筆記

    CH455是一款用於驅動數碼管(LED)和矩陣鍵盤掃描控制芯片。能夠動態驅動4位數碼管或者32個LED。同時支持7x4的鍵盤掃描。單片機通過I2C對CH455進行讀寫,同時包括一個#INT中斷引腳,任何一個按鍵按下都會觸發中斷,在

原创 STM32 定時器2 CH1 CH2 PWM輸出 產生呼吸燈效果

     PWM一般用來驅動電機(控制速度),控制LED亮度,驅動開關電源電路等等,本實例通過改變PWM佔空比的方式來驅動LED燈,形成呼吸燈的效果。用這種方式來學習STM32 TIM2輸出PWM的配置。      以STM32F103C

原创 生物雷達調試記錄

一、   使用工具l  SIM800L GPRS模塊l  非接觸式體徵測試儀l  USB轉TTL串口模塊(含杜邦線*4)l  PC+串口調試助手二、   接收數據格式圖1爲HPM_Radar發送數據的格式,其中第一個byte爲報文序號,範

原创 PIC16F1933 EEPROM操作

PIC16F1933內部有256Byte大小的數據EEPROM用於存儲數據,如圖1所示圖1 EEPROM大小       通過PIC16F1933數據手冊可以看到,EEPROM的地址爲00H~FFH,如圖2所示圖2 PIC16F1933數

原创 STM32 開關總中斷

函數位於core_cm3.c__set_PRIMASK(1);    //關閉STM32總中斷 __set_PRIMASK(0);    //開啓STM32總中斷

原创 LM2586S 應用筆記

    LM2586可用於搭建反激電路(Flyback)和Boost升壓電路,筆者最近在使用該系列芯片過程中,使用LM2586-ADJ來設計升壓電路,將+5V輸入電壓升壓到+12V電壓輸出,要求輸出電流有1

原创 PIC單片機 sleep 低功耗調試記錄

   在執行sleep(); 函數前,可以將不用的引腳設置爲模擬輸入,高阻態模式。ANSELAbits.ANSA4 = 1; //進入sleep前,將LED IO口設置爲模擬輸入 TRISAbits.TRISA4 = 1;     如

原创 HW2000接收函數

當HW2000無線模塊沒有接收到數據時,會持續while死循環檢測,導致程序卡死在這裏。解決方法:發送端持續發送心跳碼,保證持續有數據接收。讓main函數不會死在接收函數中。

原创 SIM800發送數據 AT+CIPSEND ERROR

要求開機發送三次數據,發現當發送間隔爲200ms時,會出現ERROR情況,出現宕機情況。開始以爲原因是,因爲發送數據的返回處理要有一定時間,發送過快時,上一步的數據沒有處理完,將延遲由200ms改爲500ms解決問題。但是後來還是會發生E

原创 Photoshop 分類用

Photoshop