📄 main.c
字号:
#include"SPCE061A.h"
#include"macro.h"
#include"UART.h"
#include"SysClk.h"
#include"PYList.h"
#include"mystring.h"
char str[]={'\0'};
char *GetHZ (char *inputstr)
{
int i;
for (i=0;i<398;i++)
if (!stringcmp (inputstr,index[i].py)) return index[i].hz;
return NULL;
}
char *ShowHz(char *instr,unsigned char num)
{
char i,show[17];
char *newstr=NULL;
char *strtemp=NULL;
if(num==0) num=1;
if((num*16)<=stringlen(instr))
{
newstr=instr+(num-1)*16;
strtemp=newstr;
for(i=0;i<16;i++)
{
show[i]=*strtemp++;
}
show[16]='\0';
prints(show,1);
}
else if((num*16)>stringlen(instr)&&(num-1)*16<stringlen(instr))
{
newstr=instr+(num-1)*16;
prints(newstr,1);
}
return newstr;
}
int main(void)
{
unsigned int outfor,j;
char *hz,*Addr=NULL;
unsigned char page;
SysClkInit(5,0);
UARTInit();
P_INT_Ctrl=C_IRQ5_2Hz; //2HZTimeBase中断,主要喂狗
INT_IRQ();
ClrScr();
prints("**********************************************************************",1);
prints("*************************拼音输入法 V0.1*****************************",1);
prints(" ",1);
prints("请输入拼音:",0);
while(1){
if(RX_Flag){
if(!RX_Index) j=15;
else j=RX_Index-1;
if(RX_BUFFER[j]!=0x0D)
{
str[j]=RX_BUFFER[j];
str[j+1]='\0';
putc(RX_BUFFER[j]);
RX_Flag=0;
}
else
if(RX_Index>1)
{
putc(0x0D);
putc(0x0A);
hz=GetHZ(str);
RX_Flag=0;
RX_Index=0;
if(hz!=NULL)
{
page=1;
Addr=ShowHz(hz,page);
prints("*************************************************",1);
for(;;)
{
outfor=0;
if(RX_Flag)
{
if(!RX_Index) j=15;
else j=RX_Index-1;
switch(RX_BUFFER[j])
{
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
Addr+=(RX_BUFFER[j]-'0')*2;
prints("*************************************************",1);
prints("你选择的汉字是:",0);
putc(*Addr);
putc(*(Addr+1));
prints(" ",1);
prints("*************************************************",1);
outfor=1;
break;
case '+':
prints("*************************************************",1);
Addr=ShowHz(hz,++page);
prints("*************************************************",1);
break;
case '-':
prints("*************************************************",1);
Addr=ShowHz(hz,--page);
if(page==0) page=1;
prints("*************************************************",1);
break;
}
RX_Flag=0;
RX_Index=0;
}
if(outfor==1) break;
}
}
else prints("拼音错误!",1);
prints("*************************************************",1);
prints("请输入拼音:",0);
}
else {
prints(" ",1);
prints("*************************************************",1);
prints("你的文本内容:",1);
prints("Useless!",1);
prints("",1);
prints("*************************************************",1);
RX_Flag=0;
RX_Index=0;
prints("*************************************************",1);
prints("请输入拼音:",0);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -