📄 tty.c
字号:
#include <stdio.h>
#include <REGX52.H>
#include "temp.h"
#include "tty.h"
extern bit receive_flag,sendflg,bufflag;
extern uchar idata rsbuf[2][10];
// extern uchar idata ssbuf[10];
extern uchar bdata channelbit;
extern uint idata channeldata[8];
void serial_inital(void)
{
SCON = 0x50; /* SCON: mode 1, 8-bit UART, enable rcvr */
TMOD |= 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */
TH1 = 221; /* TH1: reload value for 1200 baud @ 16MHz */
TR1 = 1; /* TR1: timer 1 run */
TI = 1;
}
/*char putchar(char c)
{
static idata uchar *p=ssbuf;
//ssbuf[i++]=c;
*p++=c;
if(c=='\0'||c=='\n')
{
//i=0;
p=ssbuf;
sendflg = 1;
TI=1;
}
return c;
}
*/
void* getmsg(void)
{char c;
uchar i;
pcmddata p;
p=(pcmddata)rsbuf[0];
while(1) {
for(i=0;i<10;i++)
{
rsbuf[0][i]= c=getchar();
if(c == '\0'||c == '\n')
{
if(rsbuf[0][0]=='s')
return p;
else break;
}
}
}
}
/* loop: if(receive_flag)
{ receive_flag=0;
if(!bufflag)
p=(pcmddata)rsbuf[0];
else p=(pcmddata)rsbuf[1];
if(p->start=='s')
{
bufflag=~bufflag;
}
}
goto loop;
}
*/
/*
打开一个通道 c传递通道编号,用ascall表示
'a'表示全部打开
*/
void opench(uchar c)
{
if('a'==c)
{
channelbit =(uchar)0xff; //打开所有通道
}
else
{
channelbit |= 0x01<<(c-'0'); //打开一个通道
}
}
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -