資源簡介
STM32F030無刷無霍爾驅動程序,代碼為C語言,無霍爾方式驅動。已經經過驗證,可以放心下載和調試。

代碼片段和文件信息
/******************************************************************************
*文件名稱:ADC1.c
*作者姓名:Liu?Tusheng??
*調試日期:2015.12.30
*功能概要:ADC1?采集無刷電機反電動勢,用于采集過零點換向
*
******************************************************************************/
#include?“ADC1.h“
#include?“PWM.h“
#include?“USART1.h“
#include?“delay.h“
//#include?“TIM.h“
uint16_t?RegularConvData_Tab[ADC1_CH_NUM*SAMPLINGTIME];?//裝載4個通道的轉換值
uint16_t?RegularAverage[ADC1_CH_NUM];?
uint8_t??ADCDMAFlag?=?0;?//DMA傳輸完成標志
uint8_t??ZeroFlag?=?0;???//檢測到過零標志
uint8_t??BLDCState?=?0;??//電機運行在哪一步
PidStruct?PIDJust;
GetCountStruct?SetSpeedTime?=?{0};
GetCountStruct?feedbackSpeedTime?=?{0};
uint16_t?GetPidValueSetPWMValue;
DelayStruct?DelayTime?=?{0};?
//=============================================================================
//函數名稱:ADC1_DMA_Init
//功能概要:ADC1初始化函數
//參數說明:無
//函數返回:無
//=============================================================================
void?ADC1_DMA_Init(void)
{
GPIO_InitTypeDef????GPIO_InitStructure;
DMA_InitTypeDef?????DMA_InitStructure;
ADC_InitTypeDef?????ADC_InitStructure;
NVIC_InitTypeDef?NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1??ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1??ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA?ENABLE);
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd?=?GPIO_PuPd_NOPULL?;
GPIO_Init(GPIOA?&GPIO_InitStructure);
ADC_DeInit(ADC1);//ADC恢復默認設置
DMA_DeInit(DMA1_Channel1); /*?DMA1?Channel1?Config?*/
DMA_InitStructure.DMA_PeripheralbaseAddr?=?(uint32_t)ADC1_DR_Address;//外設地址
DMA_InitStructure.DMA_MemorybaseAddr?=?(uint32_t)&RegularConvData_Tab;//內存地址
DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralSRC;//外設作為數據傳輸的來源
DMA_InitStructure.DMA_BufferSize?=?ADC1_CH_NUM*SAMPLINGTIME;
DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;//外設地址寄存器不變
DMA_InitStructure.DMA_MemoryInc?=?DMA_MemoryInc_Enable;//內存地址
DMA_InitStructure.DMA_PeripheralDataSize?=?DMA_PeripheralDataSize_HalfWord;//數據寬度為16位
DMA_InitStructure.DMA_MemoryDataSize?=?DMA_MemoryDataSize_HalfWord;//數據寬度為16位
DMA_InitStructure.DMA_Mode?=?DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority?=?DMA_Priority_High;//DMA_Priority設定DMA通道x的軟件優先級
DMA_InitStructure.DMA_M2M?=?DMA_M2M_Disable;//DMA通道x沒有設置為內存到內存傳輸
DMA_Init(DMA1_Channel1?&DMA_InitStructure);
DMA_ITConfig(DMA1_Channel1?DMA_IT_TC?ENABLE);
NVIC_InitStructure.NVIC_IRQChannel?=?DMA1_Channel1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority?=?0;
NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
NVIC_Init(&NVIC_InitStructure);
// ADC_StructInit(&ADC_InitStructure);//初始化ADC結構
ADC_InitStructure.ADC_Resolution?=?ADC_Resolution_12b;//12位精度
ADC_InitStructure.ADC_ContinuousConvMode?=?ENABLE;?//規定模式裝換工作在連續模式
ADC_InitStructure.ADC_ExternalTrigConvEdge?=?ADC_ExternalTrigConvEdge_None;?
ADC_Ini
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1120??2012-03-23?12:36??STM32F030?BLDC2016\CORE\arm_common_tables.h
?????文件?????240326??2012-03-23?12:36??STM32F030?BLDC2016\CORE\arm_math.h
?????文件??????31948??2012-03-23?12:36??STM32F030?BLDC2016\CORE\core_cm0.h
?????文件??????15691??2012-03-23?12:36??STM32F030?BLDC2016\CORE\core_cmFunc.h
?????文件??????16108??2012-03-23?12:36??STM32F030?BLDC2016\CORE\core_cmInstr.h
?????文件??????10646??2012-03-23?12:36??STM32F030?BLDC2016\CORE\startup_stm32f0xx.s
?????文件???????9703??2016-01-18?21:54??STM32F030?BLDC2016\HARDWARE\ADC1.c
?????文件???????1145??2016-01-18?19:21??STM32F030?BLDC2016\HARDWARE\ADC1.h
?????文件????????540??2014-05-16?11:29??STM32F030?BLDC2016\HARDWARE\led.c
?????文件????????270??2014-05-07?16:57??STM32F030?BLDC2016\HARDWARE\led.h
?????文件???????8031??2016-01-18?20:05??STM32F030?BLDC2016\HARDWARE\PWM.c
?????文件????????486??2016-01-15?10:40??STM32F030?BLDC2016\HARDWARE\PWM.h
?????文件???????7779??2016-01-18?21:20??STM32F030?BLDC2016\HARDWARE\TIM.c
?????文件????????793??2016-01-18?21:21??STM32F030?BLDC2016\HARDWARE\TIM.h
?????文件???????2553??2015-12-30?15:00??STM32F030?BLDC2016\HARDWARE\TIMCap.c
?????文件????????106??2015-12-30?14:49??STM32F030?BLDC2016\HARDWARE\TIMCap.h
?????文件???????3002??2015-12-30?15:23??STM32F030?BLDC2016\HARDWARE\USART1.c
?????文件????????125??2014-05-07?19:50??STM32F030?BLDC2016\HARDWARE\USART1.h
?????文件?????172472??2016-01-18?21:54??STM32F030?BLDC2016\OBJ\adc1.crf
?????文件???????1101??2016-01-18?21:54??STM32F030?BLDC2016\OBJ\adc1.d
?????文件?????192236??2016-01-18?21:54??STM32F030?BLDC2016\OBJ\adc1.o
?????文件?????162975??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\delay.crf
?????文件????????919??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\delay.d
?????文件?????180176??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\delay.o
?????文件?????????19??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\ExtDll.iex
?????文件????????218??2013-12-22?00:43??STM32F030?BLDC2016\OBJ\keilkill.bat
?????文件?????162617??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\led.crf
?????文件????????881??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\led.d
?????文件?????179064??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\led.o
?????文件?????170052??2016-01-18?21:45??STM32F030?BLDC2016\OBJ\main.crf
............此處省略133個文件信息
評論
共有 條評論