STM32神舟III號 驅動直流電機學習(四 )

2021-06-26 22:30:46 字數 1718 閱讀 6513

怎樣**檢視輸出pwm波:

怎樣設定pwm頻率:參考stm32神舟iii號 驅動直流電機學習(二 )

電機型號:rs-385ph,電機正負極區分:冷色系顏色為負極,暖色系顏色為正極

如何控制與計算轉速:通過白色與藍色的線實現四倍頻上下沿,計算直流電機轉速。

參考網頁:

利用邊沿檢測電路檢測是否可行?

新手入門比較完整的整理:

一、編寫程式所需的步驟

1、解壓縮,改目錄名稱,和eww檔名,以便跟其他程式區分。

2、更改設定:在「stm32f10x_conf.h」關閉不用的外設(在其宣告函式前面加注釋符號「//」)。並根據外部晶振速度更改其中「hse_value」的數值,其單位是hz。

3、完成各種標頭檔案的包含(#include "***.h";),公共變數的宣告(static 資料型別 變數名稱;),子程式宣告(void 函式名稱(引數);)……c語言必須的前置工作。

4、改寫我的程式庫裡面所預設的模板,再進行其他模組的初始化子程式**的編寫,並在程式**的開始部分呼叫。注意:必須記住所有外設的使用需要考慮4個問題:

a)     開時鐘rcc(在rcc初始化中);

b)     自身初始化;

c)     相關管腳配置(在gpio初始化中);

d)     是否使用中斷(在nvic初始化中)

5、編寫main.c中的主要**和各種子函式。

6、在「stm32f10x_it.c」填寫各種中斷所需的執行**,如果用不到中斷的簡單程式則不用編寫此檔案。

7、編譯生成 「bin」的方法:project\option\ linker\output\format,裡面選擇「other」,在下面的「output」選 「raw-binary」生成bin。

8、編譯生成「hex」的方法:project\option\ linker\output\format,裡面選擇「other」,在下面的「output」選「intel-extended」,生成a79直接改名成為hex或者選中上面的「output flie」在「overrride default」專案裡面改擴充套件名為hex。

使用軟體介面的debug燒寫並按鈕除錯程式。注意,st-link-ii是直接將程式燒寫進flash進行除錯,而不是使用ram的方式。 

我自己的學習過程

1、 一共24個庫,不可能都學,都學也沒用。按照我的工作需求必須學的有16個,這16個也不是全學。主要學習**是各種例程**、「韌體函式庫使用者手冊」和「參考手冊」。

具體學習方法是通讀不同**的程式,在程式中找到相關的函式庫的應用,然後再閱讀相關文件,有條件的實驗。對於內容的選擇方面,根據入門內容和未來應用,將所涉及的範圍精簡到最低,但是對所選擇的部分的學習則力求明確。以下是我按照自己的需求對程式庫函式排列的學習順序:

a) 絕大部分程式都要涉及到的庫——flash,lib,nvic,rcc,只學基礎的跟最簡單應用相關必用的部分,其他部分後期再返回頭學。

b) 各種程式通用但不必用的庫——exti,mda,systic,只通讀理解其作用。

c) demo板擁有的外設庫——gpio,usart,編寫**實驗。

d) 未來需要用到的外設的庫——tim,tim1,adc,i2c,spi,先理解等待有條件後實驗。

e) 開發可靠性相關庫——bkp,iwdg,wwdg,pwr,參考其他例程的做法。

f) 其他,根據興趣來學。

STM32神舟III號 驅動直流電機學習(二)

看到一篇講pwm講得比較詳細的stm32的pwm精講 實驗內容 利用stm32的乙個通用定時器 tim2 產生4路頻率相同 1khz 占空比不同的 pwm。ch1占空比75 ch2占空比50 ch3占空比25 ch4占空比10 四路 輸出分別對應pa埠的pa0,pa1,pa2,pa3。實驗目的 掌握...

linux spi驅動分析 基於STM32

linux kernel 版本2.6.30,spi驅動基於platform device,platform driver驅動模型來編寫.spi分為主從裝置,乙個主裝置下可心掛接多個從裝置,linux驅動中使用struct spi master結構來表示乙個主裝置,使用struct spi devic...

stm32用pwm驅動舵機

舵機的主要組成部分為伺服電機,所謂伺服就是服從訊號的要求而動作。在訊號來之前,轉子停止不動 訊號來到之後,轉子立即運動。因此我們就可以給舵機輸入不同的訊號,來控制其旋轉到不同的角度。舵機接收的是pwm訊號,當訊號進入內部電路產生乙個偏置電壓,觸發電機通過減速齒輪帶動電位器移動,使電壓差為零時,電機停...