资源简介
STM32 两轮平衡车 程序 获取姿态传感器的角度 控制电机的速度
代码片段和文件信息
#include
#include “..\Include\M051.h“
#include “..\Include\Register_Bit.h“
#include “..\Include\Common.h“
#include “..\Include\Macro_SystemClock.h“
#include “..\Include\Macro_Timer.h“
#include “..\Include\retarget.h“
#include “..\Include\Macro_ADC.h“
#define ADC_CLOCK_DIVIDER 0x00040000
#define ADC_CLK_Source 0x00000000
void AD0_Init(void)
{
P1_PMD=0x0000;
set_ADC_RST;
clr_ADC_RST;
/* ADC engine clock enable */
set_ADEN_CLK;
if (ADC_CLK_Source==0x00000000 )
{
ADCClkSource_ex12MHZ;
}
else if(ADC_CLK_Source==0x00000004 )
{
ADCClkSource_PLL;
}
else if(ADC_CLK_Source==0x00000008 )
{
ADCClkSource_int22MHZ;
}
/* Set ADC divisor */
CLKDIV=ADC_CLOCK_DIVIDER;
/* ADC enable */
set_ADEN;
set_CALEN; //Self Calibration Enable
while(!(ADCALR&CALDONE));
// setAD_SIG;
setAD_CONSCAN;
/* Single end input */
clr_DIFFEN;
/* Set the ADC channel */
set_CHEN0;
set_CHEN1;
set_CHEN2;
set_CHEN3;
set_CHEN4;
set_CHEN5;
set_CHEN6;
set_CHEN7;
/* Configure P1.0 as analog input pin */
set_ADC0_channel;
set_ADC1_channel;
set_ADC2_channel;
set_ADC3_channel;
set_ADC4_channel;
set_ADC5_channel;
set_ADC6_channel;
set_ADC7_channel;
/* Disable P1.0 digital input path */
P1_OFFD |= OFFD0;
P1_OFFD |= OFFD1;
P1_OFFD |= OFFD2;
P1_OFFD |= OFFD3;
P1_OFFD |= OFFD4;
P1_OFFD |= OFFD5;
P1_OFFD |= OFFD6;
P1_OFFD |= OFFD7;
/* Configure P1.0 as input mode */
P10_InputOnly;
P11_InputOnly;
P12_InputOnly;
P13_InputOnly;
P14_InputOnly;
P15_InputOnly;
P16_InputOnly;
P17_InputOnly;
/* Clear the A/D interrupt flags for safe */
set_ADF;
}
unsigned int Read_AD0(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR0&0xFFF)>>2) ;
}
unsigned int Read_AD1(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR1&0xFFF)>>2) ;
}
unsigned int Read_AD2(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR2&0xFFF)>>2) ;
}
unsigned int Read_AD3(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR3&0xFFF)>>2) ;
}
unsigned int Read_AD4(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR4&0xFFF)>>2) ;
}
unsigned int Read_AD5(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR5&0xFFF)>>2) ;
}
unsigned int Read_AD6(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR6&0xFFF)>>2) ;
}
unsigned int Read_7361_Z(void)
{
// StartADC;
set_ADST;
while(ADSR&ADF==0);
set_ADF;
return((ADDR7&0xFFF)>>2) ;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3244 2012-01-01 11:20 sin\Common\COMMON.C
文件 5211 2011-12-11 09:47 sin\Common\RETARGET.C
文件 7697 2010-08-23 10:11 sin\Common\startup_M051.S
文件 6265 2010-08-23 10:26 sin\Common\temp_UART.C
文件 6398 2012-06-04 17:16 sin\Common\UART.C
....... 149585 2012-06-05 20:53 sin\GPIO.uvopt
文件 15505 2012-05-10 15:37 sin\GPIO.uvproj
文件 151414 2012-02-21 14:43 sin\GPIO_1.uvopt
文件 3913 2012-06-05 20:44 sin\GPIO_GPIO.DEP
....... 149587 2012-06-05 20:44 sin\GPIO_uvopt.BAK
文件 15504 2012-05-08 09:50 sin\GPIO_uvproj.BAK
文件 756 2011-06-29 21:24 sin\Include\COMMON.H
文件 857 2002-10-11 13:53 sin\Include\INTRINS.H
文件 707 2010-05-31 16:18 sin\Include\L_Function.H
文件 1131 2011-04-10 10:44 sin\Include\L_SPI.H
文件 23250 2011-04-09 23:41 sin\Include\M051.H
文件 9531 2010-08-06 18:56 sin\Include\Macro_ADC.H
文件 2299 2010-08-04 10:25 sin\Include\Macro_SPI.H
文件 4500 2010-08-06 18:52 sin\Include\Macro_SystemClock.H
文件 1279 2010-08-02 17:39 sin\Include\Macro_Timer.H
文件 38313 2010-08-11 14:28 sin\Include\Register_Bit.H
文件 618 2010-04-19 15:17 sin\Include\RETARGET.H
文件 632 2011-03-16 22:25 sin\Include\UART.H
文件 94366 2012-06-05 20:44 sin\Listing\GPIO.MAP
文件 23557 2012-06-05 20:44 sin\Listing\startup_M051.LST
文件 948 2012-05-10 15:35 sin\Nu_li
文件 49830 2012-06-05 20:44 sin\Output\ad.crf
文件 414 2012-06-05 20:44 sin\Output\ad.d
文件 63292 2012-06-05 20:44 sin\Output\ad.o
文件 8984 2012-05-06 09:28 sin\Output\calculate.crf
............此处省略62个文件信息
相关资源
- STM32F103使用定时器的捕获方式测量车
- STM32F407 步进电机含角度输出Keil代码
- stm32f103代码
- STM32F407 FSMC控制AD7606、SRAM、NOR FLASH
- STM32的GPIO口模拟串口通信.rar
- STM32F4 的DMA程序
- STM32控制电子罗盘彩屏显示角度
- stm32f103c8移植ucosII
- stm32f103通过modbus控制A6伺服电机
- STM32应用霍尔转速传感器.zip
- 基于stm32简易闹钟,采用DS3231实时时钟
- oled的代码
- STM32控制步进电机
- STM32F103RBT6 STM32最小系统 PCB文件+电路
- 基于stm32的i2c通信
- stm32DSP 库FFT
- STM32 DS1302驱动代码
- stm32频率计测量总结
- STM32-基于SD卡的FATFS文件系统
- STM32的CAN实验程序
- STM32-I2C程序例程
-
Jli
nk_ARM-OB_STM32固件(V8) - pca9685+stm32f103c8t6
- stm32f103c8t6+mpu9250读取九轴原始数据
- 基于stm32的图片显示
- 基于STM32的智能扫地机器人避障系统设
- STM32超声波测距程序
- STM32F103C8T6引脚图
- STM32F407VET6原理图
- AltiumDesigner官方STM32封装库(F0~F4 L1)
评论
共有 条评论