📄 car_prevent.c
字号:
// I/O---侧---有障---无障
// PA0---左----0------1
// PA1---右----0------1
#include "avr/io.h"
#include "util/delay.h"
unsigned int temp;
void sensor_init()
{
DDRA &= ~0x0F;
PORTA |= 0x08;
}
void car_prevent()
{
temp = (PINA&0x03);
switch(temp)
{
case 0x00: // 正前障碍,倒车并右转
car_backward();
_delay_ms(100);
car_right();
_delay_ms(100);
break;
case 0x01: // 右侧障碍,左转
car_left();
_delay_ms(100);
break;
case 0x02: // 左侧障碍,右转
car_right();
_delay_ms(100);
break;
default:
car_ahead();
break;
}
}
void main()
{
car_init();
sensor_init();
while((PINA&0x08)==0x08);
while(1)
{
car_prevent();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -