原创 STM32實戰六 PWM加移相正交

這一章編寫PWM程序,使用TIM3以兩個通道,完全映射到PC6和PC7,除普通PWM輸出外,增加移相正交PWM功能,爲後面的編碼器計數模式提供信號源。 PWM.h #ifndef __PWM__ #define __PWM__ ext

原创 STM32 HardFault_Handler故障一例

    測試時不小點碰到STM32單片機電源,造成電源高頻跳動,再啓動後程序運行燈不亮,點擊Stop按鈕發現程序掛在 HardFault_Handler(void) 循環中。右鍵單擊堆棧列表項,發現出錯位置代碼:return m_nVer

原创 解決 Encountered an improper argument 錯誤

Keil 5.27版本,調試時會出現 Encountered an improper argument 錯誤,大部分操作都失效,不能退出,只能結束進程。百度說是文件路徑中有漢字,刪除漢字後問題依舊,偶然發現,刪除全部斷點後,故障消除。如上

原创 MFC 使用圖形變換矩陣的簡單方法

MFC用GDI繪畫,沒有圖形變換矩,很不方便,查了很多都是自己寫的,這裏介紹一個簡單方法,就是用D2D的矩陣變換。 1、包含頭文件 #include "d2d1helper.h" 2、在左邊的解決方案資源管理器的項目上點右鍵/屬性/配製屬

原创 STM32實戰七 數字濾波

數字濾波是數據處理是常用、靈活、有效的方法。前面的按鍵程序已經用到了濾波,屬於開關量濾波,這裏要討論的是模擬量濾波程序,包括最常用的兩種方法,中值濾波和平均值濾波。 中值濾波的原理是,每次取最近幾個數的中間值作爲輸出數據,每個波形的最高和

原创 STM32實戰九 編碼器

這一章編寫編碼器程序,通過定時器連接編碼器,原理和細器節這裏不多說,參考代碼段中的網頁,有兩個注意事項,一是所有網上的參考代碼都沒有設置第二個通道,默認沒有濾波,雖然能用,但是通道2抗干擾能力差,容易造成誤計數。二是volatile u8

原创 STM32實戰八 DAC/ADC

這一章編寫DAC和ADC程序,即數模/模數轉換。程序中封裝了兩個DAC,各1個獨立通道,對應輸出腳爲PA4和PA5,提供兩個方法,ADDA::daDMA(Timer & tim)成員方法以DMA方式按預定數據生成兩個正弦波,通道1(PA4

原创 STM32實戰五 板載LED顯示數據

寫到第五章,終於有可以看見的結果了。不過磨刀不誤砍柴功。正因爲前面的基礎,纔有今天的成果,而且有一定的實用價值。封裝一個BoardLED類,主要功能是利用板載LED顯示數據,類似於 Morse code 電報碼,以點亮時間的長短表示二進制

原创 STM32實戰一 初識單片機

一直用PLC搞智能控制,最近研發新產品,因爲控制點太多,想改用單片機,一陣某度之後,選用STM32,功能足夠。開始想自己設計電路,很久沒有Altium了,水平本來也不高,放棄了。從寶寶上買了一塊開發板STM32F103VET6(單片機主體

原创 STM32實戰三 C++ IO.cpp

這一章開始編寫代碼,主要是兩個方面,一是C++,二是進行簡單的IO封裝。其它教程一般是用C語言,從按鍵或LED燈開始,比較直觀,容易上手,但與實際應用有一定的區別,這裏要做的是實用控制程序,開始就比較正規,C++是發展趨勢,所以就從這裏開

原创 STM32實戰四 定時器和按鍵

這一章編寫定時器,包括定時器基類 Timer 和派生的通用定時器 GeneralTimer。基類對定時器參數進行封裝,通用定時器封裝一些定時應用,對應PLC的一些功能,包括: 1ms定時中斷 100個32位數字時間繼電器,最小1ms,最大

原创 STM32實戰二 新建工程

這一章新建一個工程,主要目的是練習新建C++工程,生成比較乾淨的代碼,後來發現沒在太大的意義,直接在原示例中刪除文件,然後新建cpp文件即可,也可以把原有main.c的屬性變成c++,方法是main.c/右鍵/Options for fi

原创 STM32 不能下載程序的解決辦法

STM32 不能下載程序的解決辦法 有一次測試超頻,死機,不能下載程序 還有一次把下載口PA13佔用了,不能下載程序 解決辦法:把BOOT0接3.3V,不從內部FLASH啓動,可以下載新程序

原创 VIM粘帖WINDOWS內容

學習ROS用到VIM,好像回到幾十年前用DOS的感覺。在WIN10中裝了一個子系統UBUNTU18.04,使用VIM編輯器,不會從WINDOWS中粘貼文本,上網查了很多,各種方法都不行,無意中點了一下右鍵,成功了,操作步驟如下圖。打開VI

原创 S型加減速程序,C++,PLC,AGV

做無人駕駛AGV項目,起動和停車衝擊非常大,參考牛人的博文https://blog.csdn.net/Septembernine/article/details/53125828,寫了一段S型加減速程序,也稱拋物線加減速,七段加減速,實際