stm32f103c8t6小车巡线
单片机源程序如下:
- #include "main.h"
- //直接使用下面这个函数输出对应IO的PWM波,用来控制舵机,底盘电机等
- //void PWM_OUT(int A0 ,int A1 int A2 ,int A3 ,int A6 ,int A7 ,int B0 ,int B1 ,int B6 ,int B7 ,int B8 ,int B9 ) //赋值0-1000 占空比0-100%
- //使用以下宏定义读取IO口状态
- //#define READ_B3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)//读取B3电平
- //#define READ_B4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)//读取B4电平
- //#define READ_B5 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)//读取B5电平
- //#define READ_B13 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_13)//读取B13电平
- //#define READ_B14 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_14)//读取B14电平
- //#define READ_B15 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)//读取B15电平
- //使用以下宏定义输出IO口状态
- //#define OUT_ON_A4 GPIO_SetBits(GPIOA,GPIO_Pin_4);//A4输出高电平
- //#define OUT_OFF_A4 GPIO_ResetBits(GPIOA,GPIO_Pin_4);//A4输出低电平
- //#define OUT_ON_A5 GPIO_SetBits(GPIOA,GPIO_Pin_5);//A5输出高电平
- //#define OUT_OFF_A5 GPIO_ResetBits(GPIOA,GPIO_Pin_5);//A5输出低电平
- //#define OUT_ON_A8 GPIO_SetBits(GPIOA,GPIO_Pin_8);//A8输出高电平
- //#define OUT_OFF_A8 GPIO_ResetBits(GPIOA,GPIO_Pin_8);//A8输出低电平
- //#define OUT_ON_A11 GPIO_SetBits(GPIOA,GPIO_Pin_11);//A11输出高电平
- //#define OUT_OFF_A11 GPIO_ResetBits(GPIOA,GPIO_Pin_11);//A11输出低电平
- //#define OUT_ON_A12 GPIO_SetBits(GPIOA,GPIO_Pin_12);//A12输出高电平
- //#define OUT_OFF_A12 GPIO_ResetBits(GPIOA,GPIO_Pin_12);//A12输出低电平
- //#define OUT_ON_A15 GPIO_SetBits(GPIOA,GPIO_Pin_15);//A15输出高电平
- //#define OUT_OFF_A15 GPIO_ResetBits(GPIOA,GPIO_Pin_15);//A15输出低电平
- int time=5000;
- int main(void)
- {
- LED_Configuration(); //B12
- TIM2_pwm_init(); //A0 A1 A2 A3
- TIM3_pwm_init(); //A6 A7 B0 B1
- TIM4_pwm_init(); //B6 B7 B8 B9
- Output_init(); //A4 A5 A8 A11 A12 A15
- Input_init(); //B3 B4 B5 B13 B14 B15
- //预留B10 B11/A9 A10 以后可以用来做串口或软件IIC
- while(1)
- {
- PWM_OUT(0,0,0,0,0,0,0,0,0,0,0,0);
- GPIO_ResetBits(GPIOB,LED_Pin);
- delay_ms(time);
- GPIO_SetBits(GPIOB,LED_Pin);
- delay_ms(time);
- }
- }
复制代码
所有资料51hei提供下载:
F103LED_Demo.7z
(194.96 KB, 下载次数: 25)
|