永发信息网

请问怎么从51单片机SBUF里的一串字符串中取出两个引号之间的字符串啊

答案:2  悬赏:0  手机版
解决时间 2021-02-25 02:21
  • 提问者网友:辞取
  • 2021-02-24 06:22
请问怎么从51单片机SBUF里的一串字符串中取出两个引号之间的字符串啊
最佳答案
  • 五星知识达人网友:第四晚心情
  • 2021-02-24 07:21
ASCII码在单片机中也是用16进制来表示的,只是解码后显示的是字符,你要是随便发一个字符,串口调试助手选择字符显示接收就可以显示一个字符出来(可能我们不认识这个字符)。发送一个字符串就是不停的发送直到发送完毕,51单片机有自己的串行发送端口P3.0和P3.1端口,但是它是一个字节一个字节发送的,发送完一个字节会产生一个中断(也可以用判断TI的方式判断是否发送完),中断响应后再次启动发送SBUF=0Xxx,就会自动连续的发送,再加上判断就可以控制发送的字节数。 串口初始化: void uart_init() { TMOD=0x20;//定时器1,模式2 SCON=0x50;//串口通讯方式1 TH1=0xfd;//波特率9600 TL1=0xfd; button=0; delay(1); TI=0;//发送中断标志位清零 RI=0;//接收中断标志位清零 TR1=1;//启动定时器1 EA=1; //使能全局中断 ES=1; //启动串口中断 } } void main() { P1=0xff; uart_init() ; while(1) { } // 串行中断程序 void commIntProc() interrupt 4 { if(TI) { TI = 0; if(sendPosi < sendCount) //判断是否发送完成 { sendPosi++; //发送一次计数器加一 SBUF = sendBuf[sendPosi];//启动发送 }
全部回答
  • 1楼网友:雾月
  • 2021-02-24 07:53
需要代写程序请联系
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯