#include "motor.h" #include "infrared.h" int main(void) { Motor_Configuration(); Infrared_Configuration(); while (1) { if (Infrared_IsOnTrack(LEFT_SENSOR)) { Motor_LeftTurn(); } else if (Infrared_IsOnTrack(RIGHT_SENSOR)) { Motor_RightTurn(); } else { Motor_Straight(); } } }中motor.h和infrared.h具体代码
时间: 2024-02-14 14:07:25 浏览: 116
jmIrc_src-0.83.tar.gz_jmIrc_src-0.83.tar
以下是 motor.h 和 infrared.h 中的代码示例:
motor.h:
```c
#ifndef __MOTOR_H
#define __MOTOR_H
#include "stm32f10x.h"
// 定义 GPIO 引脚
#define LEFT_MOTOR_FORWARD GPIO_SetBits(GPIOA, GPIO_Pin_1)
#define LEFT_MOTOR_BACKWARD GPIO_ResetBits(GPIOA, GPIO_Pin_1)
#define LEFT_MOTOR_STOP GPIO_ResetBits(GPIOA, GPIO_Pin_1)
#define RIGHT_MOTOR_FORWARD GPIO_SetBits(GPIOA, GPIO_Pin_2)
#define RIGHT_MOTOR_BACKWARD GPIO_ResetBits(GPIOA, GPIO_Pin_2)
#define RIGHT_MOTOR_STOP GPIO_ResetBits(GPIOA, GPIO_Pin_2)
// GPIO 配置函数
void Motor_Configuration(void);
void Motor_LeftTurn(void);
void Motor_RightTurn(void);
void Motor_Straight(void);
void Motor_Stop(void);
#endif /* __MOTOR_H */
```
infrared.h:
```c
#ifndef __INFRARED_H
#define __INFRARED_H
#include "stm32f10x.h"
// 定义 GPIO 引脚
#define LEFT_SENSOR GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)
#define RIGHT_SENSOR GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1)
// GPIO 配置函数
void Infrared_Configuration(void);
// 判断是否在黑线上
uint8_t Infrared_IsOnTrack(uint8_t sensor);
#endif /* __INFRARED_H */
```
其中,motor.h 中定义了一些 GPIO 引脚的宏定义,以及电机控制相关的函数。
infrared.h 中定义了一些 GPIO 引脚的宏定义,以及红外传感器控制相关的函数,包括 Infrared_Configuration() 函数和 Infrared_IsOnTrack() 函数。其中 Infrared_IsOnTrack() 函数用于判断红外传感器是否在黑线上。
阅读全文