• 大小: 471KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: STM32  

资源简介

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_link_Driver.INI

     文件      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个文件信息

评论

共有 条评论