ct_test/Keil_C/Apps/test.c

81 lines
1.6 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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输出1led灯关闭
GPIO_WriteHigh(GPIO2,GPIO_PIN_6);//P2.6输出1led灯关闭
GPIO_WriteHigh(GPIO2,GPIO_PIN_7);//P2.7输出1led灯关闭
}
else
{
led_flag = 1;
GPIO_WriteLow(GPIO0,GPIO_PIN_0);//P0.0输出0led灯亮起
GPIO_WriteLow(GPIO2,GPIO_PIN_6);//P2.6输出0led灯亮起
GPIO_WriteLow(GPIO2,GPIO_PIN_7);//P2.7输出0led灯亮起
}
}
}
/*****************************************************
*函数名称: 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输出0led灯亮起
}
else
{
motor_flag = 1;
REV();//电机反转
GPIO_WriteHigh(GPIO0,GPIO_PIN_0);//P0.0输出1led灯关闭
}
}
}