car.c

来自「单片机」· C语言 代码 · 共 61 行

C
61
字号
#include "avr/io.h"
#include "util/delay.h"

void car_init(void)
{
	DDRD |= _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5);
}

void car_stop(void)
{
	PORTD |= _BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5);
}

void car_ahead(void)
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD2) | _BV(PD4);
}

void car_backward(void)
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD3) | _BV(PD5);
}

void car_left(void)					// 急右转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD3) | _BV(PD4);
}

void car_right(void)				// 急右转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD2) | _BV(PD5);
}

void car_left1(void)				// 自由+左转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD2) | _BV(PD3) | _BV(PD4);
}

void car_right1(void)				// 刹车+右转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD2) | _BV(PD4) | _BV(PD5);
}

void car_left2(void)				// 自由+左转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD4);
}

void car_right2(void)				// 自由+右转
{
	PORTD &= ~(_BV(PD2) | _BV(PD3) | _BV(PD4) | _BV(PD5));
	PORTD |= _BV(PD5);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?