ps2+舵机控制成功版
单片机源程序如下:
- #include "stm32f10x.h"
- #include "PWM_OUT.h"
- #include "LED.h"
- #include "sys.h"
- #include "adc.h"
- #include "delay.h"
- #include "bsp_usart.h"
- #define key1 PBin(0)
- #define key2 PBin(1)
- extern __IO uint16_t ADC_ConvertedValue[NOFCHANEL];
- u16 CCR1_Val=60;
- float uu=0 ;
- float bb=0 ;
- u16 TT;
- int main(void)
- {
-
- USART_Config();
- ADCx_Init();
-
-
-
-
-
- TIM3_GPIO_Config();
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);//使能PORTA,PORTC时钟
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//PE1
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOA15
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//PE0
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
- GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIOC5
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;//PA0
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入,默认下拉
- GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.0
-
- TIM3_PWM_Init();
- Delay(0x0FFFFF);
- Delay(0x0FFFFF);
- while(1)
- {
-
- uu =(float) ADC_ConvertedValue[0]*170/4096+60;
- TT=(int)uu;
- //bb=(float) ADC_ConvertedValue[1]/4096*3.3;
- printf("\r\n CH0 value = %d V \r\n",TT);
- printf("\r\n CH1 value = %f V \r\n",bb);
-
- // uu=(float)ADC_ConvertedValue[0]*(170/4096)+145;
- // CCR1_Val=(u16)uu;
-
- //
- // if(key2==0&&key1==1)
- // { TT=CCR1_Val;
- // TT+=1;
- //
- //if(TT>=230)TT=230;
- // CCR1_Val=TT;}
- //
- // if(key1==0&&key2==1)
- //{TT-=1;
- //if(TT<=60)TT=60;
- // CCR1_Val=TT;
- // }
-
- TIM_SetCompare1(TIM3,TT);
-
-
- Delay(0x003FFF);
-
- }
- }
复制代码
所有资料51hei提供下载:
ps2 舵机试验成功版.rar
(296.91 KB, 下载次数: 58)
|