stm32红外避障小车代码
时间: 2023-10-14 08:08:04 浏览: 91
以下是一个简单的红外避障小车代码,使用了STM32F103C8T6开发板和红外传感器模块:
```c
#include "stm32f10x.h"
#define IR_LEFT GPIO_Pin_0
#define IR_RIGHT GPIO_Pin_1
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = IR_LEFT | IR_RIGHT;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
int main(void)
{
GPIO_Configuration();
while (1)
{
if (GPIO_ReadInputDataBit(GPIOA, IR_LEFT) == Bit_RESET && GPIO_ReadInputDataBit(GPIOA, IR_RIGHT) == Bit_RESET)
{
// 前方有障碍物,停止
// do something
}
else if (GPIO_ReadInputDataBit(GPIOA, IR_LEFT) == Bit_RESET)
{
// 左侧有障碍物,右转
// do something
}
else if (GPIO_ReadInputDataBit(GPIOA, IR_RIGHT) == Bit_RESET)
{
// 右侧有障碍物,左转
// do something
}
else
{
// 没有障碍物,直行
// do something
}
}
}
```
阅读全文