d0f5a1879f8c001d1e48ebb9b9e41815
来自「在开发FPGA上比较有用」· 代码 · 共 248 行
TXT
248 行
#include <stdio.h>
#include <string.h>
#include <alt_types.h>
#include <io.h>
#include <system.h>
int jieshou()
{
char msg,prompt = '0',str[50]="\0";
FILE *fp_scdt;
char ls[3]={"ss"}, Aa[3]={"Aa"},Ab[3]={"Ab"},Ac[3]={"Ac"},Ad[3]={"Ad"},Wh[3]={"Wh"},Br[3]={"Br"},Pc[3]={"Pc"};
int i=0,flag=0;
// 打开串口设备文件
fp_scdt=fopen("/dev/scdt_uart","r+");
printf("hi");
if(fp_scdt)
{
while(prompt !='~')
{
prompt = getc(fp_scdt); // 从数传电台UART取一个字符
// putchar(prompt);
msg=prompt;
if(msg=='$')
{
flag=1;
}
if(flag==1)
{
str[i]=msg; // 将数据存到数组中
i++;
}
}
fclose(fp_scdt);
}
i=0;
while(str[i]!='~')
{
printf("%c",str[i]);
i++;
}
if((str[0]=='$')&&(str[1]=='C')&&(str[2]=='T')&&(str[3]=='M')&&(str[4]=='S')&&(str[5]=='D'))//判断识别符
{
switch(str[6])
{
case '}':printf("东");//aic23_play();
break;
case '^':printf("南");//aic23_play();
break;
case '{':printf("西");//aic23_play();
break;
case '!':printf("北");//aic23_play();
break;
case '0':printf("直走");aic23_play(1001);
break;
default:printf("错误");//aic23_play();
break;
}
switch(str[7])
{
case '#':printf("改变模式");//aic23_play();
break;
case '0':printf("不改变模式");//aic23_play();
break;
default:printf("错误");//aic23_play();
break;
}
i=8;
while (str[i]!='~')
{
switch(str[i])
{
case '&':
i++;
ls[0]=str[i];
ls[1]=str[i+1];
if ((strcmp( ls, Aa))==0)
{
printf("1路");//aic23_play(); aic23_play();
}
else if((strcmp(ls,Ab))==0)
{
printf("2路");//aic23_play(); aic23_play();
}
else if((strcmp(ls,Ac))==0)
{
printf("3路");//aic23_play(); aic23_play();
}
else if((strcmp(ls,Ad))==0)
{
printf("4路");//aic23_play(); aic23_play();
}
else if(strcmp(ls,Br)==0)
{
printf("45路");//aic23_play(); aic23_play();
}
else if(strcmp(ls,Pc)==0)
{
printf("408路");//aic23_play(); aic23_play();
}
else
{
printf("错误");//aic23_play();
}
i=i+2;
break;
case '%':
{
i++;
switch(str[i])
{
case '|':printf("沙坡村"); //aic23_play();
break;
case '(':printf("沙坡"); //aic23_play();
break;
case ')':printf("交大电脑城");//aic23_play(2006);
break;
case '*':printf("交大商场");//aic23_play(2007);
break;
case '+':printf("兴庆公园");//aic23_play();
break;
case '_':printf("南郭门");//aic23_play(2010);
break;
case '.':printf("东南城角");//aic23_play(2003);
break;
case '/':printf("东门");//aic23_play(2002);
break;
case '0':printf("大差市");//aic23_play(2001);
break;
case '1':printf("端履门");//aic23_play(2004);
break;
case '2':printf("钟楼");//aic23_play();
break;
case '3':printf("武警医院");//aic23_play();
break;
case '4':printf("铁一局医院");//aic23_play();
break;
case '5':printf("赛格电脑城");//aic23_play(2013);
break;
case '6':printf("鲁家村");//aic23_play(2009);
break;
case '7':printf("李家村");//aic23_play(2008);
break;
case '8':printf("和平门");//aic23_play(2005);
break;
case '9':printf("太乙路");//aic23_play();
break;
case ':':printf("瓦窑小区");//aic23_play();
break;
case ';':printf("南稍门");//aic23_play(2012);
break;
case '<':printf("南门");//aic23_play(2011);
break;
case '=':printf("文艺路");//aic23_play();
break;
default:printf("错误");//aic23_play();
break;
}
i++;
break;
}
default:printf("错误");
break;
}
}
}
else if ((str[0]=='$')&&(str[1]=='C')&&(str[2]=='T')&&(str[3]=='S')&&(str[4]=='N')&&(str[5]=='D'))
{
switch(str[6])
{
case '}':printf("东面");aic23_play();
break;
case '^':printf("南面");aic23_play();
break;
case '{':printf("西面");aic23_play();
break;
case '!':printf("北面");aic23_play();
break;
default:printf("错误");aic23_play();
break;
}
i=7;
while (str[i]!='~')
{
switch(str[i])
{
case '%':
{
i++;
switch(str[i])
{
case '|':printf("沙坡村");//aic23_play();
break;
case '(':printf("沙坡");//aic23_play();
break;
case ')':printf("交大电脑城");aic23_play(2006);
break;
case '*':printf("交大商场");aic23_play(2007);
break;
case '+':printf("兴庆公园");//aic23_play();
break;
case '_':printf("南郭门");
break;
case '.':printf("东南城角");aic23_play(2003);
break;
case '/':printf("东门");aic23_play(2002);
break;
case '0':printf("大差市");aic23_play(2001);
break;
case '1':printf("端履门");aic23_play(2004);
break;
case '2':printf("钟楼");//aic23_play();
break;
case '3':printf("武警医院");//aic23_play();
break;
case '4':printf("铁一局医院");//aic23_play();
break;
case '5':printf("赛格电脑城");aic23_play(2013);
break;
case '6':printf("鲁家村");aic23_play(2009);
break;
case '7':printf("李家村");aic23_play(2008);
break;
case '8':printf("和平门");aic23_play(2005);
break;
case '9':printf("太乙路");//aic23_play();
break;
case ':':printf("瓦窑小区");//aic23_play();
break;
case ';':printf("南稍门");aic23_play(2011);
break;
case '<':printf("南门");//aic23_play();
break;
case '=':printf("文艺路");//aic23_play();
break;
default:printf("错误");//aic23_play();
break;
}
i++;
break;
}
default:printf("错误");
break;
}
}
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?