資源簡(jiǎn)介
STM32F030無(wú)刷無(wú)霍爾驅(qū)動(dòng)程序,代碼為C語(yǔ)言,無(wú)霍爾方式驅(qū)動(dòng)。已經(jīng)經(jīng)過(guò)驗(yàn)證,可以放心下載和調(diào)試。

代碼片段和文件信息
/******************************************************************************
*文件名稱:ADC1.c
*作者姓名:Liu?Tusheng??
*調(diào)試日期:2015.12.30
*功能概要:ADC1?采集無(wú)刷電機(jī)反電動(dòng)勢(shì),用于采集過(guò)零點(diǎn)換向
*
******************************************************************************/
#include?“ADC1.h“
#include?“PWM.h“
#include?“USART1.h“
#include?“delay.h“
//#include?“TIM.h“
uint16_t?RegularConvData_Tab[ADC1_CH_NUM*SAMPLINGTIME];?//裝載4個(gè)通道的轉(zhuǎn)換值
uint16_t?RegularAverage[ADC1_CH_NUM];?
uint8_t??ADCDMAFlag?=?0;?//DMA傳輸完成標(biāo)志
uint8_t??ZeroFlag?=?0;???//檢測(cè)到過(guò)零標(biāo)志
uint8_t??BLDCState?=?0;??//電機(jī)運(yùn)行在哪一步
PidStruct?PIDJust;
GetCountStruct?SetSpeedTime?=?{0};
GetCountStruct?feedbackSpeedTime?=?{0};
uint16_t?GetPidValueSetPWMValue;
DelayStruct?DelayTime?=?{0};?
//=============================================================================
//函數(shù)名稱:ADC1_DMA_Init
//功能概要:ADC1初始化函數(shù)
//參數(shù)說(shuō)明:無(wú)
//函數(shù)返回:無(wú)
//=============================================================================
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恢復(fù)默認(rèn)設(shè)置
DMA_DeInit(DMA1_Channel1); /*?DMA1?Channel1?Config?*/
DMA_InitStructure.DMA_PeripheralbaseAddr?=?(uint32_t)ADC1_DR_Address;//外設(shè)地址
DMA_InitStructure.DMA_MemorybaseAddr?=?(uint32_t)&RegularConvData_Tab;//內(nèi)存地址
DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralSRC;//外設(shè)作為數(shù)據(jù)傳輸?shù)膩?lái)源
DMA_InitStructure.DMA_BufferSize?=?ADC1_CH_NUM*SAMPLINGTIME;
DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;//外設(shè)地址寄存器不變
DMA_InitStructure.DMA_MemoryInc?=?DMA_MemoryInc_Enable;//內(nèi)存地址
DMA_InitStructure.DMA_PeripheralDataSize?=?DMA_PeripheralDataSize_HalfWord;//數(shù)據(jù)寬度為16位
DMA_InitStructure.DMA_MemoryDataSize?=?DMA_MemoryDataSize_HalfWord;//數(shù)據(jù)寬度為16位
DMA_InitStructure.DMA_Mode?=?DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority?=?DMA_Priority_High;//DMA_Priority設(shè)定DMA通道x的軟件優(yōu)先級(jí)
DMA_InitStructure.DMA_M2M?=?DMA_M2M_Disable;//DMA通道x沒(méi)有設(shè)置為內(nèi)存到內(nèi)存?zhèn)鬏?br/> 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結(jié)構(gòu)
ADC_InitStructure.ADC_Resolution?=?ADC_Resolution_12b;//12位精度
ADC_InitStructure.ADC_ContinuousConvMode?=?ENABLE;?//規(guī)定模式裝換工作在連續(xù)模式
ADC_InitStructure.ADC_ExternalTrigConvEdge?=?ADC_ExternalTrigConvEdge_None;?
ADC_Ini
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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個(gè)文件信息
評(píng)論
共有 條評(píng)論