📄 sysmain.c
字号:
//=============================================================
// 文件名称: main.c
//==============================================================
#include "SPCE061.H"
unsigned int meltIntFlag=0;
unsigned int distanceFlag=0;
unsigned int stopFlag=0;
unsigned int stopSum=0;
unsigned int stautus=0;
//=======================================================================
void Fangxiang_process1(void){
unsigned int Fangxiang1;
Fangxiang1=Get_Fangxiang1();
if(Fangxiang1)
switch(Fangxiang1)
{
case 0x8000:
Set_IOB13_Data1(); //left
Set_IOB14_Data0();
//bit++;
Fangxiang1=Get_Fangxiang1();
while(Fangxiang1)
{Fangxiang1=Get_Fangxiang1();
Set_IOB13_Data1(); //left
Set_IOB14_Data0();
*P_Watchdog_Clear=0x01;
}
Set_IOB14_Data1(); //without Direction
break;
case 0x4000:
Set_IOB13_Data0(); //right
Set_IOB14_Data0();
// bit--;
while(Fangxiang1)
{ Fangxiang1=Get_Fangxiang1();
Set_IOB13_Data0(); //right
Set_IOB14_Data0();
*P_Watchdog_Clear=0x01;
}
Set_IOB14_Data1();
break;
default:
Fangxiang1=0x0000;
break; }
}
//============================================================
void Fangxiang_process2(void){
unsigned int Fangxiang2;
Fangxiang2=Get_Fangxiang2();
if(Fangxiang2)
switch(Fangxiang2)
{
case 0x0800:
Set_IOB13_Data0(); //left
Set_IOB14_Data0();
Fangxiang2=Get_Fangxiang2();
while(Fangxiang2)
{Fangxiang2=Get_Fangxiang2();
Set_IOB13_Data0(); //left
Set_IOB14_Data0();
*P_Watchdog_Clear=0x01;}
Set_IOB14_Data1();
break;
case 0x0400:
Set_IOB13_Data1(); //right
Set_IOB14_Data0();
while(Fangxiang2)
{Fangxiang2=Get_Fangxiang2();
Set_IOB13_Data1();
Set_IOB14_Data0();
*P_Watchdog_Clear=0x01;}
Set_IOB14_Data1();
break;
default:
Fangxiang2=0x0000;
break; }
}
//================================================================
void run_stright_car(void)
{
int i;
APWM_Initial();
Set_IOB13_Data1(); //all left
Set_IOB14_Data0();
for(i=0;i<1000;i++) //delay
Set_IOB14_Data1(); //straight
Fangxiang_process2();
*P_Watchdog_Clear=0x01;
}
//=================================================//
main()
{
F_System_Initial(); //I/Oset
INT_irq(); //open ext1,ext2,
F_UART_Initial();
APWM_Initial();
Set_IOB14_Data1(); //upstrait
//===============================status linr area
while(stautus==0)
{
Fangxiang_process1();
*P_Watchdog_Clear=0x01;
}
//=====================================================
while(meltIntFlag==4)
{ forbit_ext1();
F_UART_Write(0x00FF);
meltIntFlag=0;
allow_irq5_2hz();
APWM_0FF(); // stop move flag
stautus=2;
}
while(stopSum==5)
{forbit_irq5_2hz();
stautus=3; } //enter flag
*P_Watchdog_Clear=0x01; //
if(stautus==3)
run_stright_car();
*P_Watchdog_Clear=0x01; // barrier
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -