#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "LED.h"
#include "TIM3_PWM.h"
#include "MOTOR.h"
#include "Track.h"
#include "Car.h"
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
TIM3_PWM_Init(7199,1); //¶¨Ê±Æ÷PWMģʽ³õʼ»¯(5KHZ)£¬ÓÃÓÚ¿ØÖÆL298Nµç»úµ÷ËÙ
MOTOR_GPIO_Init(); //½ÓL298NÒý½ÅIN1µ½IN4£¬¿ØÖƵç»úÕý·´×ª
Infrared_Init();
while(1)
{
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==0&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Go_Ahead();}
else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==1&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==1&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==1)
{Car_Stop();}
else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Self_Right();}
else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==1&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Turn_Right();}
/*else if((GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Turn_Right();}*/
else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==0&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==1&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Self_Left();}
else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==0&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==1&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==1)
{Turn_Left();}
/*else if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0&&
GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10)==1&&
GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0&&GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)==0)
{Turn_Left();}*/
//Set_Car_Speed(4500,4500); //Ö±ÐÐ
//Set_Car_Speed(-5000,-5000); //ºóÍË
//Set_Car_Speed(-5000,5000); //×óת
//Set_Car_Speed(5000,-5000); //ÓÒת
//Set_Car_Speed(7200,7200); //È«ËÙÖ±ÐÐ
//Set_Car_Speed(-7200,-7200); //È«ËÙºóÍË
}
}
循迹代码修改
最新发布