STM8无刷电机控制程序-驱动IR21011S完整

2026/4/26 16:55:14

/* ***************************************** *******************************************/ #include \#include \#include \#include \#include \

#include \#include \

//===================================== u8 stgo; u16 m; u16 duty;

//===================================== void sys_int(void) {

u16 xx; for(xx=0;xx<63000;xx++); }

/**************************************** *main.c *

******************************************/ main() {

u16 ad3temp,over,twic, loop,gh;

CLK_CKDIVR=(0x00|0x00);// clock setup...... over=0; twic=0; _asm(\ duty=0; loop=0; Gpio_int(); PD4_OUT=0;

PWM_INIT(); ChangeDuty(0); BLDCParam.station=Idle; ReadHallGetStep(); NorChangePhase(); adc_init(); ADC_CR1_ADON = 1;

TIM1_CCER2_CC4E=1; TIM1_CCER2_CC4P =0; duty=0; while (1) { switch( BLDCParam.station) { case Idle: {

if(loop>50000) { loop=0; //if(ADC_DB2R<0x0100) // { PD4_OUT=1; duty=0; PC5_OUT =1; BLDCParam.station=Start;//Start; ///} adc_pwm_init(); } loop++;

} break; case Start: { if(loop>500) { loop=0;

if(duty<1020) duty++; } loop++; TIM1_CCER2_CC4E=1; TIM1_CCER2_CC4P =0; //============================= ChangeDuty(duty); M_Gethall_Check(); if(ADC_CSR_EOC ==1) { over+=ADC_DR; twic++; if(twic>5) { over=over/twic; if(over>400) { BLDCParam.station=Stop; break; } over=0; twic=0; } ADC_CSR_EOC = 0; // ADC_CR1_ADON = 1; } }break; case Run: { M_Gethall_Check();

if(ADC_CSR_EOC ==1) { ad3temp= ADC_DB3RL; } break; case Stop: {

ad3temp+= ADC_DB3RH<<8; m=ad3temp; if(loop>500) { loop=0; if(duty<700) duty++; if(duty>m+5&&duty>150) duty=duty-4; if(m<150) BLDCParam.station=Start; ChangeDuty(duty);//duty); } if(ADC_DB1RL>380) {BLDCParam.station=Stop;} //============================ ADC_CSR_EOC = 0; ADC_CR1_ADON = 1; ADC_CR1_ADON = 1; loop++; } DisAllPwmOut(); if(loop>50000) { loop=0; PC5_OUT =~PC5_OUT ; } loop++; } break;

}//===switch end==

}//while end==

}//===main end==


STM8无刷电机控制程序-驱动IR21011S完整.doc 将本文的Word文档下载到电脑
搜索更多关于: STM8无刷电机控制程序-驱动IR21011S完整 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219