📄 main.c
字号:
//从机红外发送数据的程序
//定义'准备好'的数据格式为:主机系统原码--1111,数据原码--1111
//定义'确认'信号的格式为:主机系统原码--1111,数据原码--0000
#include<spce061a_chf.h>
#include"TX.h"
unsigned int data_ready=0x0f0f;
unsigned int data_error=0x0f01;//错误数据命令
unsigned int data_done=0x0f02;//完毕数据命令
unsigned int Tx_Rx_flag=3;//三个状态时候的标志位
//Tx_Rx_flag=0--从机处在开始位置
//Tx_Rx_flag=1--从机处在车库门口位置
//Tx_Rx_flag=2--从机处在车库里位置
///////////////////////////////////////////
//函数:int main(void)
//描述:Tx_Rx_flag=0--从机处在开始位置
////////Tx_Rx_flag=1--从机处在车库门口位置
///////Tx_Rx_flag=2--从机处在车库里位置
//参数:无
//返回:0
/////////////////////////////////////////////
int main(void)
{
unsigned int temp;
system_init();
while(1)
{
if(Tx_Rx_flag%3==0)
{
Tx_Rx_flag++;
Tx_hanshu(data_ready);
temp=Rx_hanshu();
while(temp==0xf001)//从机接收到错误的命令
{
Tx_hanshu(data_ready);
temp=Rx_hanshu();
}
}
else if(Tx_Rx_flag%3==1)
{
Tx_Rx_flag++;
temp=Rx_hanshu();
while(temp!=0xf00f)
{
Tx_hanshu(data_error);
temp=Rx_hanshu();
}
*P_IOA_Data=0x0100;//控制小车前进
delay();
*P_IOA_Data=0x0000;//到达目的地后控制小车停止
}
else
{
Tx_hanshu(data_done);
temp=Rx_hanshu();
while(temp==0xf001)
{
Tx_hanshu(data_done);
}
Tx_Rx_flag++;
}
while(Tx_Rx_flag==4)
{
*P_Watchdog_Clear=0x01;
}
}
return 0;
}
void delay(void)
{
unsigned int ki=0x8000;
while(ki--)
{
*P_Watchdog_Clear=0x01;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -