#include "test.h" extern bit it_5s_flag; extern bit it_2s_flag; extern bit it_1s_flag; extern bit it_10ms_flag; bit led_flag = 0;//led灯开关标志 bit motor_flag = 0;//电机方向标志 /***************************************************** *函数名称: led_test *函数功能: IO口、定时器及串口测试用函数 *入口参数:void *出口参数:void *****************************************************/ void led_test() { //运行指示灯 if(it_1s_flag == 1)//1秒 { it_1s_flag = 0; if(led_flag) { led_flag = 0; GPIO_WriteHigh(GPIO0,GPIO_PIN_0);//P0.0输出1,led灯关闭 GPIO_WriteHigh(GPIO2,GPIO_PIN_6);//P2.6输出1,led灯关闭 GPIO_WriteHigh(GPIO2,GPIO_PIN_7);//P2.7输出1,led灯关闭 } else { led_flag = 1; GPIO_WriteLow(GPIO0,GPIO_PIN_0);//P0.0输出0,led灯亮起 GPIO_WriteLow(GPIO2,GPIO_PIN_6);//P2.6输出0,led灯亮起 GPIO_WriteLow(GPIO2,GPIO_PIN_7);//P2.7输出0,led灯亮起 } } } /***************************************************** *函数名称: motor_test *函数功能: 电机控制测试用函数 *入口参数:void *出口参数:void *****************************************************/ void motor_test() { bit t1,t2; t1 = GPIO_ReadPin(GPIO1,GPIO_PIN_4); t2 = GPIO_ReadPin(GPIO1,GPIO_PIN_5); motor_start(); motor_mov(2); if(~t1) { FWD(); } if(~t2) { REV(); } if(it_5s_flag)//检查2秒定时中断标志 { it_5s_flag = 0;//标志位清零 if(motor_flag) { motor_flag = 0; FWD();//电机正转 GPIO_WriteLow(GPIO0,GPIO_PIN_0);//P0.0输出0,led灯亮起 } else { motor_flag = 1; REV();//电机反转 GPIO_WriteHigh(GPIO0,GPIO_PIN_0);//P0.0输出1,led灯关闭 } } }