本电机DEMO板的IO口是作了重映射的,在使用本程序前务必在STVP先修改配置
tools--->programmer
1. Settings页面中选STLINK
2.
在弹出的窗口中选择”OPPTION BYTE”
在AFR1-0中点右键选第二项。再重新编译下载
如下图圈中所示:
3. Progarm页面点START
定时器重映射配置在OPTION选项里进行配置
启动延时时间生成计算表:
单片机源程序如下:
- /* 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)
|