本電機DEMO板的IO口是作了重映射的,在使用本程序前務必在STVP先修改配置
tools--->programmer
1. Settings頁面中選STLINK
2.
在彈出的窗口中選擇”OPPTION BYTE”
在AFR1-0中點右鍵選第二項。再重新編譯下載
如下圖圈中所示:
51hei.png (98.9 KB, 下載次數: 90)
下載附件
2020-12-24 15:16 上傳
3. Progarm頁面點START
定時器重映射配置在OPTION選項里進行配置
啟動延時時間生成計算表:
51hei.png (25.3 KB, 下載次數: 83)
下載附件
2020-12-24 15:24 上傳
單片機源程序如下:
- /* MAIN.C file
- * GPIO: 40%占空比輸出換相
- ,控制電機轉動,開環,上電運行,無傳感方案
-
- PB5,6,7為硬件比較輸入端,延時換向準確
- 缺點:啟動第二階段與反電勢控制電機轉動的銜接不好,出現一頓的問題
-
- Author: Cache.Lee from UET
- * Copyright (c) UET
- */
- #include "stm8s_lib.h"
- #include "functions.h"
- #include "mc_dev_clk.h"
- #include "mc_vtimer.h"
- #include "mc_dev_vtimer.h"
- #include "MC_HALL.H"
- #include "MC_dev_port.h"
- #include "MC_stm8s_port_param.h"
- #include "mc_stm8s_hall_param.h"
- void fun(void)
- {
- // GPIO_WriteReverse(GPIOD,GPIO_PIN_7);
- vtimer_SetTimer(VTIM0,5000,fun);
- }
- main()
- {
- u16 i;
-
-
- for(i=0;i<50000;i++);
- dev_clkInit();
- for(i=0;i<50000;i++);
- InitLed_GPIO(); //LED燈初始化
- dev_portInit();//PWMio初始化
- dev_vtimerInit(); //TIM5軟件定時器配置
- vtimer_SetTimer(VTIM0,5000,fun);
-
- /* #ifdef HALLTEST_TIMER
- Init_HallBaseTimer();//HALL 時鐘相關配置
- Init_TIM1();
- HallTimer_InitCapturePolarity();//HALL 捕獲配置
- #else
- EXTI_HALL_Init();
- Init_TIM1();
- HallEXTI_Init();
- #endif */
-
- Init_TIM1();
-
- // vtimer_SetTimer(VTIM1,50,PWMinc);
- vtimer_SetTimer(VTIM2,50,StartSensorless);
- while (1);
- }
復制代碼
所有資料51hei提供下載:
stm8s903無刷電機無感控制器開發程序,適合初學者學習.7z
(1010.99 KB, 下載次數: 148)
2020-12-24 15:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|