学习STC51单片机19(芯片为STC89C52RCRC)

article/2025/8/15 23:06:12

每日一言

        别怕起点低,持续向前的人,终会抵达山顶。

串口通信02_发送一个字符串给pc

复习一下:C 语言中没有专门的字符串类型,而是通过char类型的数组存储字符串,末尾以 空字符\0 作为结束标志。字符串本质上是由字符(char)组成的数组,而数组名在作为参数传递时会 “退化为” 指向数组首元素的指针。因此在你的代码中,sendString(char *str)函数接收指针类型的参数是正确的

char myStr[] = "helloworld"; 

sendString(myStr);

等价于 sendString("helloworld");    

传进去的是 "h" 的指针。"helloworld" 在内存中是连续存储的,传指针其实就是告诉函数从哪里开始读取字符串。函数通过这个指针先找到 "h",然后顺着内存地址依次读取后续字符,直到碰到 '\0' 结束,这样就能完整发送 "helloworld"       

其实就是把helloworld 中的h的指针传到char *str

介绍一下TI这个是发送中断请求标志位,他里面有一个特性叫做在停止位开始发送的时候由内部硬件置位,T1会由0置位变成1,但是位结束后,要软件将T1复位为0

  • 当硬件完成最后一个停止位的发送时,才会将TI置 1。
  • 因此,while(!TI)实际上是在等待整个 10 位帧的传输完成,而不仅仅是 8 位数据位。
  • 一帧数据有10位 1个起始位,8位 数据位1个停止位

意思就是每次要等10位的最后一位结束的时候这个h

那么我们就会发现不应该是这样啊,因为我们串口助手返回到是helloworld,我们根据代码应该是h一个e一个l一个l一个0一个这样一个一个的但是实际却不是这样,所以百思不得其解????

解答:

串口调试助手连续显示 helloworld 的原因可以从 通信协议软件实现 和 人类感知 三个层面来解释:

一、通信协议层面:字符是逐个发送的,但间隔极短

波特率决定传输速度
代码中设置的波特率为 9600bps,即每秒传输 9600 位
发送一个字符(10 位 / 帧)所需时间为:

  1. 9600位/秒10位≈1.04毫秒

发送 "helloworld" 共 10 个字符,理论耗时约 10.4 毫秒

字符间的实际间隔
每次发送完一个字符后,代码会:

    1. 等待 TI 置 1(约 1.04ms)
    2. 执行 TI=0 和 str++(几微秒,可忽略)
    3. 立即发送下一个字符
      因此,字符间的间隔仅为 1.04ms,几乎是连续发送的。

二、软件实现层面:调试助手的显示机制

缓冲区与刷新策略
调试助手通常采用 行缓冲 或 实时刷新 模式:

    1. 行缓冲:收到换行符 \n(或特定长度)才显示。但你的代码未发送 \n,仍能显示,说明采用的是:
    2. 实时刷新每收到一个字符就立即显示,并追加到已有内容末尾。

显示延迟
计算机屏幕的刷新频率通常为 60Hz(每 16.7ms 刷新一次)。
10.4ms 的传输时间远小于屏幕刷新间隔,因此:

    1. 所有字符在 一次屏幕刷新周期内 就已全部到达
    2. 人类视觉系统无法分辨如此短的时间间隔,感知为 “同时显示”

五、关键结论

  1. 硬件层面:字符是 串行、逐个发送 的,每个字符间有 1.04ms 间隔。
  2. 软件层面:调试助手 实时追加显示 每个收到的字符。

sendString 中的 while 循环本身执行很快,每个字符间隔仅 1.04ms,但由于人类视觉暂留效应和调试助手的刷新机制,你会感觉整个字符串是 “同时出现” 的主要就是串口助的刷新机制哈。

字符确实是逐个发送的,但由于调试助手的刷新机制人类视觉的局限性,我们会看到 “连续显示” 的效果。这种现象本质上是时序差异造成的错觉,而非数据在 SBUF 中累积。

这个也非常好证实,关于串口的刷新率16ms,我们这样将,helloworld的长度读取远远超过一次串口刷新的频率16ms,那么就会有这样的效果,1s内有两条数据,因为误差的关系每条数据长度也不一样,16 X 2ms的话可存放的数据是远大于我写的字符串长度的,所以显示两条

解决疑惑了开心了


http://www.hkcw.cn/article/dZcfKKisdZ.shtml

相关文章

2023年12月GESPC++二级真题解析(含视频)

视频讲解:GESP2023年12月二级C真题讲解 一、单选题 第1题 解析: 答案C,变量命不能以数字开头 第2题 解析: 答案A,题目代码循环10、12、14、16、18,只有A符合 第3题 解析: 答案D&#xff…

漂流7小时男子说获救时手机电量4% 生死一线间

近日,广东珠海市一名男子在海上漂流7小时后获救的新闻引发网友热议。5月29日,这名26岁的陈先生在社交平台晒图称已制作锦旗送到参与救援单位,并表示希望大家引以为戒。陈先生是一名户外运动爱好者,事情发生在5月25日。当天,他计划从珠海的外伶仃岛划皮划艇到庙湾岛,两个小…

中国女排4大新星崛起 19岁主攻或当奇兵

2025世界女排联赛分站赛将于6月4日点燃战火,新一届中国女排将迎来首次亮相,其中多位超级新星会在国家队打出怎样的表现令人期待。中国女排在新周期的第一年计划大力培养年轻球员,这给了新星们机会。17岁1米96的副攻王奥芊、16岁1米92的接应杨舒茗、16岁的二传手张籽萱,和19…

景区回应游客要求保安出来道歉 矫情病发作

景区回应游客要求保安出来道歉 矫情病发作。有些人并不知道自己生病了,反而以疾病发作为荣,认为自己发病时的样子很厉害、很威风。最近,在南京钟山景区发生的一幕引起了网友们的愤怒。一名女子因骑车进入禁行区被保安拦下后尖叫要求保安道歉。视频中,女子的尖叫声刺耳且粗暴…

馆方回应游客制止参观者嬉笑反被怼!

馆方回应游客制止参观者嬉笑反被怼 尊重历史引争议!2025年5月24日,哈尔滨731罪证陈列馆吸引了大量游客。一名游客用手机记录了一场意外的争执,引发广泛关注。事件起因是几名游客在陈列馆内谈笑,这种行为引起了另一名身着黑色衣服的女士不满。她提醒紫色上衣的女士这里不该笑…

linux c基础逻辑判断

switch switch (表达式或变量) { case 常量值1: /* code */ break; case 常量值2: /* code */ break; default: /* code */ break; } 注意: 1. case后边只能跟整型、字符常量,不能跟浮点数、字符串。 2. case后边可以不加break,从符合条件…

韦世豪称赞胡荷韬 慧眼识珠

5月29日,在央视足球之夜的节目中,韦世豪表达了对胡荷韬的看好。韦世豪在采访中提到,他刚来不久就注意到胡荷韬平时训练特别谦逊。他说:“我刚来一个月时就跟小胡说,你以后一定能进国家队。一个球员如果既努力又谦逊,肯定会有成就。有些年轻球员成绩好后会变得浮躁,或者踢…

【网络入侵检测】基于Suricata源码分析FlowManager实现

【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全,欢迎关注与评论。 1. 概要 👋 本文聚焦开源网络入侵检测系统 Suricata 的核心模块 FlowManager,深入解读其源码,解析流量管理实现机制。FlowManage…

永辉超市及其法人被限消 涉服务合同纠纷

企查查APP显示,永辉超市及其法定代表人张轩松近日被限制高消费。原因是未按执行通知书指定的期间履行生效法律文书确定的给付义务。申请人是郑州市唐科废旧物资回收有限公司,涉及服务合同纠纷案件。此前,永辉超市已因此案被执行超过39万元。责任编辑:zhangxiaohua

一条龙舟值套房?揭秘“水上超跑” 龙舟漂移绝技

一条龙舟值套房?揭秘“水上超跑” 龙舟漂移绝技!端午节即将到来,全国各地的龙舟赛陆续开赛。广东佛山叠滘的龙舟因其独特的技术和风格被网友们称为“银河系唯一水上F1”。叠滘龙舟讲究人舟合一,每条龙舟需40多人默契配合,舵手凭经验预判水流和角度,队员瞬间调整重心,这种…

声援魏建军,何小鹏呼吁卷科技而非低价 未来选车看算力

小鹏汽车CEO何小鹏在最近的一次媒体访问中,针对魏建军近期发言和比亚迪降价相关问题发表了自己的看法。他认为,汽车行业不应只关注价格竞争,而应注重科技发展,特别是向具身智能方向迈进。不久前,长城汽车董事长魏建军指出,当前中国汽车产业面临资本裹挟、恶性竞争和技术趋…

为什么美国政府要对高校穷追猛打 连番施压背后

为什么美国政府要对高校穷追猛打 连番施压背后!最近,美国政府对哈佛大学采取了一系列严厉措施,包括禁止招收国际学生、冻结政府拨款以及威胁取消其免税地位。哈佛大学对此毫不退让,选择了对抗。苏晓晖认为,美国总统接连对哈佛大学施压,表面上打着打击校园“反犹主义”和去…

特朗普留学生禁令被“叫停”,这场大戏远没有结束 京酿馆 哈佛反击战持续升级

近段时间,美国特朗普政府对哈佛大学进行了一系列打压,引发了全球关注。据财联社报道,当地时间5月29日,美国马萨诸塞州联邦地区法院一名法官发布了一项命令,叫停了特朗普政府禁止哈佛大学招收外国学生的政策。听证会后,法院网站信息显示,此前发布的临时限制令将继续有效,…

欧冠官方晒近11年决赛比分 为决赛预热

北京时间6月1日,巴黎圣日耳曼将在慕尼黑与国际米兰争夺本赛季欧冠冠军。为了预热本次决赛,欧冠联赛官方回顾了近11年的欧冠决赛赛果。2024年伦敦,皇马以2-0战胜多特;2023年伊斯坦布尔,曼城以1-0击败国米;2022年巴黎,皇马以1-0战胜利物浦;2021年波尔图,切尔西以1-0击败…

Linux发行版本的安装

目录 一、彻底删除VMware 二、VMware-17虚拟机安装 三、MobaXterm 安装 四、Centos 发行版 7.9的安装 五、rockys 9.1的安装 六、ubuntu2204的安装 一、彻底删除VMware 在卸载VMware虚拟机之前,要先把与VMware相关的服务和进程终止 1. 在windows中按下【Windo…

云计算、大数据、人工智能、物联网、虚拟现实技术、区块链技术

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞…

云计算与大数据进阶 | 26、解锁云架构核心:深度解析可扩展数据库的5大策略与挑战(上)

在云应用/服务的 5 层架构里,数据库服务层稳坐第 4 把交椅,堪称其中的 “硬核担当”。它的复杂程度常常让人望而生畏,不少人都将它视为整个架构中的 “终极挑战”。 不过,也有人觉得可扩展存储系统才是最难啃的 “硬骨头”&#…

云原生--基础篇-3--云原生概述(云、原生、云计算、核心组成、核心特点)

1、什么是云和原生 (1)、什么是云? “云”指的是云计算环境,代表应用运行的基础设施和资源。依赖并充分利用云计算的弹性、分布式和资源池化能力。 核心含义: 1、云计算基础设施 云原生应用的设计和运行完全基于云…

云计算概念技术与架构:全面掌握云计算核心功能与场景

云计算概念技术与架构:全面掌握云计算核心功能与场景 【下载地址】云计算概念技术与架构 《云计算:概念、技术与架构》是一本全面深入的云计算指南,由Thomas Erl、Zaigham Mahmood和Ricardo Puttini共同撰写。本书详细解析了云计算的基础概念…

肝了半年,我整理出了这篇云计算学习路线(新手必备,从入门到精通)

大家好!我是凯哥,今天给大家分享一下云计算学习路线图。这是我按照自己最开始学习云计算的时候的学习路线,并且结合自己从业多年所涉及的知识精心总结的云计算的思维导图。这是凯哥精心总结的,花费了不少精力哦,希望对…