1. <textarea id="gmrWY"></textarea><object id="gmrWY"></object>
        <select id="gmrWY"></select><fieldset id="gmrWY"></fieldset>

          • <link id="gmrWY"><label id="gmrWY"></label></link>
            1. 电子资讯网 > 控制/MCU > 正文

              51单片机串口通讯与串口中断常见问题解决方案

              一、深入了解字符串的问题

              char str11[]="a";

              P1=strlen(str11);

              上面的一个是一个测试字符个数的实例,用仿真就可以看到结果。结果是1。也就是说字符’’是不会被计入的。那么我们就可以通过此函数来分辩是否是字符和字符串。当然如果字符串是一个字符的话,那么就是我们上面的那个情况了,会直接被当做一个数看待。

              51单片机串口通讯与串口中断常见问题解决方案

              注:上位机发过来的数据全部是字符串格式的。

              二、串口中断问题

              先看下面的程序。

              void UART_SendByte(unsigned char dat)

              {

              SBUF=dat;

              while(!TI) ;//等待发送完毕

              TI=0;

              }

              这个程序就是一个简单的串口发送字符的程序,为了能够实现自动发送和接收,我们分析一下它。我们要同时实现接收,有接收那么就要有串口中断,通过串口中断达到接收数据的目的。可是当ES=1,程序并不会像我们想的那样运行,当执行完SBUF=dat后,程序开始等待,大概是5个时钟周期后,程序并没有直接运行TI=0这句,而是,因为缓冲区中的字符而直接跳转到串口中断函数中,甚至出现死循环这样的情况。

              为了避开这种情况,我们引入了下面的程序:

              void UART_SendByte(unsigned char dat)

              {

              SBUF=dat;

              ES=0;

              while(!TI) ;

              TI=0;

              ES=1;

              }

              或者写做一个中断处理函数,空的函数也可以:

              void Com_INT() interrupt 4//串口中断
              {
              }

              下载发烧友APP

              打造属于您的人脉电子圈

              关注电子资讯微信

              有趣有料的资讯及技术干货

              关注发烧友课堂

              锁定最新课程活动及技术直播

              电子资讯观察

              一线报道 · 深度观察 · 最新资讯
              收藏 人收藏
              分享:

              评论

              相关推荐

              51单片机对矩阵键盘实现16个按键操作的设计

              矩阵键盘电路所示,4*4矩阵键盘有4行4列按键,单片机4个I/O口接矩阵键盘的行线,另外4个I/O口...

              发表于 2020-03-29 15:49 ? 87次阅读
              51单片机对矩阵键盘实现16个按键操作的设计

              串口中断程序里发送数据如何进入中断?

              发表于 2020-03-29 09:25 ? 84次阅读
              串口中断程序里发送数据如何进入中断?

              51单片机对STC15W408AS无刷电机的驱动...

              主控单片机使用STC15W408AS,单片机自带硬件PWM模块、ADC模块和比较器模块,所以非常适合...

              发表于 2020-03-29 15:52 ? 108次阅读
              51单片机对STC15W408AS无刷电机的驱动...

              51单片机对计数器的数值显示设计

              我们的硬件中是这样连线的:324组成的振荡器连到定时/计数器1的外部管脚T1上面,我们就利用这个来做...

              发表于 2020-03-29 15:30 ? 61次阅读
              51单片机对计数器的数值显示设计

              51单片机对LCD1602显示的四线驱动

              //LCD1602读写头文件 //四线驱动方式 ////////////////////...

              发表于 2020-03-29 15:24 ? 50次阅读
              51单片机对LCD1602显示的四线驱动

              新手求助:数字音乐盒程序不能实现功能

              发表于 2020-03-29 14:42 ? 82次阅读
              新手求助:数字音乐盒程序不能实现功能

              按键闪烁

              发表于 2020-03-29 15:51 ? 62次阅读
              按键闪烁

              如何设置51单片机的中断优先级

              PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。 PT...

              发表于 2020-03-29 16:28 ? 77次阅读
              如何设置51单片机的中断优先级

              51单片机音乐播放程序设计

              曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长。.....

              发表于 2020-03-29 16:21 ? 89次阅读
              51单片机音乐播放程序设计

              51单片机串行口对发光二极管的驱动设计

              定时中断程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管 定时器0...

              发表于 2020-03-29 16:13 ? 65次阅读
              51单片机串行口对发光二极管的驱动设计

              51单片机加1指令的应用方法解析

              INC A;(A)+1→(A) 累加器A中的内容加1,结果存在A中 INC data;(dat...

              发表于 2020-03-29 16:06 ? 71次阅读
              51单片机加1指令的应用方法解析

              51单片机实例35个-电路和软件

              发表于 2020-03-29 14:28 ? 82次阅读
              51单片机实例35个-电路和软件

              51单片机P0口的特性及使用方法解析

              P0口为三态双向I/O口。对于内部有程序存贮器的单片机基本系统(如定制的8051),P0口可以作为输...

              发表于 2020-03-29 15:21 ? 114次阅读
              51单片机P0口的特性及使用方法解析

              51单片机串口通信的原理与应用流程解析

              51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行...

              发表于 2020-03-29 14:45 ? 100次阅读
              51单片机串口通信的原理与应用流程解析

              51单片机教程课件(王云)

              发表于 2020-03-29 19:29 ? 130次阅读
              51单片机教程课件(王云)

              51单片机中断用法实例解析

              51单片机的外部中断0引脚接一只按键,该按键通过上拉电阻接到电源,即没有按键发生时单片机检测到的是高...

              发表于 2020-03-29 15:31 ? 95次阅读
              51单片机中断用法实例解析

              51单片机NVIC中断控制设计

              对于NVIC的任务,可以概括为三个: 1.配置中断向量表--如果不配置,则不能进入中断 SCB...

              发表于 2020-03-29 15:09 ? 55次阅读
              51单片机NVIC中断控制设计

              如何利用51单片机实现加减法计算

              头文件:inc_all.h 1 #ifndef INC_ALL_H_ 2 #define...

              发表于 2020-03-29 15:07 ? 157次阅读
              如何利用51单片机实现加减法计算

              请教单片机串口通讯选择的问题

              发表于 2020-03-29 11:04 ? 176次阅读
              请教单片机串口通讯选择的问题

              51单片机利用IAP技术对EEPROM的实现方法...

              ISP:In System Programable 是指在系统编程,通俗的讲,就是片子已经焊板子上,...

              发表于 2020-03-29 15:07 ? 78次阅读
              51单片机利用IAP技术对EEPROM的实现方法...

              如何正确的划分51单片机中的RAM

              51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 R...

              发表于 2020-03-29 16:16 ? 80次阅读
              如何正确的划分51单片机中的RAM

              51单片机对智能温控器的设计

              这是一款51单片机智能温控器C语言源程序,程序功能:速成有时钟显示,使用DS18B20进行温度检测,...

              发表于 2020-03-29 16:07 ? 124次阅读
              51单片机对智能温控器的设计

              51单片机对红外发射和红外接收模块电路的设计

              红外发射模块:电源3.3V或5V,通过发射管发射38KHz的红外信号,高电平驱动 红外接收模块...

              发表于 2020-03-29 15:49 ? 135次阅读
              51单片机对红外发射和红外接收模块电路的设计

              51单片机的CAN通讯设计

              //-----------------------设置接收报文类型(标示符)------------...

              发表于 2020-03-29 15:05 ? 107次阅读
              51单片机的CAN通讯设计

              关于51定时中断的问题?

              发表于 2020-03-29 23:38 ? 88次阅读
              关于51定时中断的问题?

              按下16个矩阵键盘依次在数码管上显示1-16的平方,基于STC

              发表于 2020-03-29 22:06 ? 237次阅读
              按下16个矩阵键盘依次在数码管上显示1-16的平方,基于STC

              51单片机对八位数字秒表的设计

              #define DIG_NONE 0xff; #define DIG_1 0x7f #d...

              发表于 2020-03-29 16:04 ? 163次阅读
              51单片机对八位数字秒表的设计

              基于单片机的智能窗系统设计(电路+流程)

              发表于 2020-03-29 16:39 ? 555次阅读
              基于单片机的智能窗系统设计(电路+流程)

              51单片机对LCD液晶显示器的控制

              这里用到的液晶为LCD1602,能够同时显示16x02即32个字符(16列2行)。1602液晶模块内...

              发表于 2020-03-29 16:04 ? 222次阅读
              51单片机对LCD液晶显示器的控制

              敢问大神,LCD1602的RD端和WR端和LCDE端,分别接51单片机的io口P3.2,P3.3,P3.4,为什么不能正常显示,换个P2io口就行了

              发表于 2020-03-29 22:29 ? 440次阅读
              敢问大神,LCD1602的RD端和WR端和LCDE端,分别接51单片机的io口P3.2,P3.3,P3.4,为什么不能正常显示,换个P2io口就行了

              51单片机PPM波的测试设计

              先说说PPM波,从图上可以看出周期为20ms,冠丽控实际是6通控,但预留两通没有使用。通道的高电平区...

              发表于 2020-03-29 15:40 ? 94次阅读
              51单片机PPM波的测试设计

              六款常用单片机的比较

              EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O...

              发表于 2020-03-29 15:25 ? 293次阅读
              六款常用单片机的比较

              51单片机的外部中断实验设计

              实验结果:当杜邦线另一端接电源时,led灭;当接地时,led就亮 结论:无论配置与否,51单片...

              发表于 2020-03-29 15:16 ? 303次阅读
              51单片机的外部中断实验设计

              超声波模块HC-SR04电路测量原理讲解

              发表于 2020-03-29 16:31 ? 431次阅读
              超声波模块HC-SR04电路测量原理讲解

              51单片机的SCON寄存器与C程序解析

              SCON寄存器是51单片机一个可寻址的专用寄存器,用于串行数据通信的控制,其字节地址为:98H,位地...

              发表于 2020-03-29 16:15 ? 176次阅读
              51单片机的SCON寄存器与C程序解析

              51单片机寄存器寻址的方法

              1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专...

              发表于 2020-03-29 15:46 ? 113次阅读
              51单片机寄存器寻址的方法

              如何使用51单片机实现串口通信

              51单片机的串口引脚为P3.0引脚与P3.1引脚,分别是RXD和TXD引脚。串口通信可以用于单片机和...

              发表于 2020-03-29 15:47 ? 258次阅读
              如何使用51单片机实现串口通信

              如何用51单片机实现IIC通信

              在之前的MCS-51系列单片机中内部没有IIC通信资源,所如果要想用51单片机实现IIC通信,就只能...

              发表于 2020-03-29 15:52 ? 258次阅读
              如何用51单片机实现IIC通信

              51单片机的学习经验总结

              单片机就是一款自动控制的芯片。注意,是芯片,你做的工作就是如何编程来是这款芯片工作,是这款芯片在规定...

              发表于 2020-03-29 15:37 ? 190次阅读
              51单片机的学习经验总结

              51单片机定时器模式2与波特率的应用

              一般来说,我们都是采用定时器1的模式2(自动重装模式)来作为波特率发生器的,同理,定时器1的中断也就...

              发表于 2020-03-29 16:12 ? 163次阅读
              51单片机定时器模式2与波特率的应用

              51单片机实现通讯协议的串口通讯编程

              51中一般针对串口通讯编程,通常采取中断接受查询发送的方式。中断函数在接受数据到达时被重复调用,其实...

              发表于 2020-03-29 15:54 ? 206次阅读
              51单片机实现通讯协议的串口通讯编程

              51单片机对LED点阵屏的设计

              微控制器的IO口均不能流过过大的电流,LED点亮时有约10ms的电流,因此LED点阵引脚不要直接接单...

              发表于 2020-03-29 16:52 ? 234次阅读
              51单片机对LED点阵屏的设计

              基于51单片机对两路DS18B20温度传感器的设...

              目前,温度控制器存在的问题是如何缩减成本,减少功耗,温度测量的准确性和多路温度的同时显示。本方案设计...

              发表于 2020-03-29 16:35 ? 307次阅读
              基于51单片机对两路DS18B20温度传感器的设...

              基于STM32单片机启动文件的作用和启动过程解析

              bootloader 分为boot 和loader,更多的时候是针对于linux系统,windows...

              发表于 2020-03-29 16:15 ? 265次阅读
              基于STM32单片机启动文件的作用和启动过程解析

              如何利用51单片机同时扩展RAM和ROM

              下面这个系统中,8051同时扩展片外程序存储器和数据存储器,两片存储器的片选信号都接地, 即同时有效...

              发表于 2020-03-29 16:00 ? 309次阅读
              如何利用51单片机同时扩展RAM和ROM

              基于51单片机对电子储物柜系统的设计

              LCD的数据引脚连接到P1口和RS,R / W,E引脚连接到P0.2,P0.3,P0.4。 L293...

              发表于 2020-03-29 15:45 ? 233次阅读
              基于51单片机对电子储物柜系统的设计

              基于51单片机查表指令的应用

              与ROM之间的数据传送 MOVCA,@A + DPTR MOVCA,@A + PC ...

              发表于 2020-03-29 16:29 ? 138次阅读
              基于51单片机查表指令的应用

              如何对51单片机进行外部扩展

              最近在项目中用到51单片机,因为某些条件限制,51单片机片上程序不是很大,需要进行外部扩展。

              发表于 2020-03-29 17:16 ? 748次阅读
              如何对51单片机进行外部扩展

              基于8502单片机计数器对LED灯的设计

              函数功能:51单片机制作的频率计(当然这个频率计的频率范围是有限制的理论值为2Hz-1MHz) 编...

              发表于 2020-03-29 16:50 ? 176次阅读
              基于8502单片机计数器对LED灯的设计

              51单片机的内部组成及应用原理解析

              STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断...

              发表于 2020-03-29 15:22 ? 165次阅读
              51单片机的内部组成及应用原理解析

              51单片机知识概述

              1)h文件作用1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明2 提供接口...

              发表于 2020-03-29 10:32 ? 559次阅读
              51单片机知识概述

              电工必须了解的PLC串口通讯的基本知识

              电力作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口,最基本的PLC串口通讯和基本的通讯...

              发表于 2020-03-29 09:31 ? 703次阅读
              电工必须了解的PLC串口通讯的基本知识

              基于51单片机对自动打铃系统的设计

              #include “reg51.h” #include “intrins.h” #define...

              发表于 2020-03-29 15:48 ? 278次阅读
              基于51单片机对自动打铃系统的设计

              51单片机的工作流程及原理解析

              1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。 51单片机是EP...

              发表于 2020-03-29 16:14 ? 454次阅读
              51单片机的工作流程及原理解析

              基于51单片机漩涡流水点阵的设计

              #include typedefunsignedcharuchar; typedefun...

              发表于 2020-03-29 16:13 ? 171次阅读
              基于51单片机漩涡流水点阵的设计

              51单片机中的定时计数器的主体结构及功能解析

              TFi-定时/计数器溢出标志位;计数溢出时,硬件自动置1,在中断允许条件下,是向CPU请求中断的信号...

              发表于 2020-03-29 15:19 ? 140次阅读
              51单片机中的定时计数器的主体结构及功能解析

              浅析PLC最基本的串口通讯

              电力作业人员在使用PLC的时候会接触到很多的通讯协议以及通讯接口,最基本的PLC串口通讯和基本的通讯...

              发表于 2020-03-29 17:31 ? 583次阅读
              浅析PLC最基本的串口通讯

              基于51单片机可修改错误功能的计算器工作原理解析

              utilities.h #ifndefUTILITIES_H_INCLUDED #def...

              发表于 2020-03-29 15:36 ? 207次阅读
              基于51单片机可修改错误功能的计算器工作原理解析

              如何采用51单片机连接24C02-C语言测试代码

              1.关闭非IIC通信器件,比如我的开发板SDA和SCL也连接了DS1302,造成干扰会没有结果。 ...

              发表于 2020-03-29 15:27 ? 168次阅读
              如何采用51单片机连接24C02-C语言测试代码

              浅谈51内核单片机中断源

              51内核的最基础的中断源请求有外部中断、定时器中断和串口中断,这也是学习和开发者最长用的。当然还有其...

              发表于 2020-03-29 10:15 ? 489次阅读
              浅谈51内核单片机中断源

              51单片机有哪些模拟串口的方法有哪些

              随着单片机的使用日益频繁,用其作前置机进行采集和通信也常见于各种应用,一般是利用前置机采集各种终端数...

              发表于 2020-03-29 10:36 ? 510次阅读
              51单片机有哪些模拟串口的方法有哪些

              基于51单片机对1602液晶板的并行操作

              TX-1C板操作并行模式的1602液晶液晶第1,2脚是gnd和vcc第3脚是对比度调节第4脚是数据/...

              发表于 2020-03-29 14:59 ? 166次阅读
              基于51单片机对1602液晶板的并行操作

              DHT11温湿度传感器原理剖析

              发表于 2020-03-29 12:51 ? 868次阅读
              DHT11温湿度传感器原理剖析

              4×4键盘C51单片机程序源码分享

              本程序已经调试通过,4*4键盘接P1口数据从P2的8个发光二极管来表示,也可以接数码管;只是为了能够...

              发表于 2020-03-29 15:30 ? 596次阅读
              4×4键盘C51单片机程序源码分享

              基于51单片机嵌入式系统仿真设计

              传统的嵌入式系统中,设计周期、硬件和软件的开发是分开进行的,并在硬件完成后才将系统集成在一起,很多情...

              发表于 2020-03-29 15:28 ? 219次阅读
              基于51单片机嵌入式系统仿真设计

              51单片机在智能时钟控制系统中的应用设计

              随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能...

              发表于 2020-03-29 15:56 ? 299次阅读
              51单片机在智能时钟控制系统中的应用设计

              PCB封装库汇总分享 | 收集整理百度网盘链接

              发表于 2020-03-29 12:44 ? 4627次阅读
              PCB封装库汇总分享 | 收集整理百度网盘链接

              51单片机MAX7219程序编写与测试

              #include“reg52.h” #include “intrins.h” #define b...

              发表于 2020-03-29 15:20 ? 256次阅读
              51单片机MAX7219程序编写与测试

              基于51单片机i2c多字节的读写

              使用Keil的编译环境下载,确实能够下载,但是入口的地址是如下黄色的那行显示所示,如果单步执行(F1...

              发表于 2020-03-29 15:13 ? 167次阅读
              基于51单片机i2c多字节的读写

              基于80C51单片机位寻址编程

              80C51单片机有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。所谓位寻址,就是对内部...

              发表于 2020-03-29 15:08 ? 183次阅读
              基于80C51单片机位寻址编程