首页 > 编程语言 >嵌入式软件异步编程:异步带来的性能提升

嵌入式软件异步编程:异步带来的性能提升

时间:2022-11-20 23:35:11浏览次数:27  
标签:异步 同步 编程 TXD1 TXD2 发送 嵌入式软件


以两个串口同时发送数据为例比较异步和同步的发送性能。

同步编程

嵌入式软件异步编程:异步带来的性能提升_异步编程

  • TXD1发送时不能处理其它任务
  • TXD2要在TXD1发送完成后才能开始发送
  • 总发送时间为TXD1和TXD2的发送时间总和,约为150ms

异步编程

嵌入式软件异步编程:异步带来的性能提升_javascript_02

  • TXD1和TXD2几乎同时开始发送,TXD2略微延后于TXD1(约4us)
  • 总发送时间为max(TXD1,TXD2),即TXD1发送时间和TXD2发送时间的最大值,约为75ms
  • 当有更多的外设可以并发工作时,性能提升更加明显

2019-05-10 补充

同步非阻塞能达到和异步一样的效果。借助 Protothreads 可以很简单地实现同步非阻塞。


标签:异步,同步,编程,TXD1,TXD2,发送,嵌入式软件
From: https://blog.51cto.com/zoomdy/5872177

相关文章

  • 嵌入式软件异步编程:应用案例
    异步编程有很多成功的应用,例如lwIP、Nginx、Node.js、LinuxAIO、JavaScript等。可以将这些成功案例的设计经验引入到嵌入式软件。lwIPTherawTCP/IPinterfaceallowsthe......
  • java-网络编程
    一、概述1、两个主要问题(1)如何准确定位网络上一台或多台主机;定位主机上的特定应用(2)找到主机后如何可靠高效的进行数据传输2、两个要素(1)IP和端口号(2)网络通信协议(OSI参......
  • RISC-V 编程之 Frame Pointer和 backtrace
    生成的代码一段简单的代码:intmain(void){blink1(10);return0;}未设置任何优化选项得到的编译结果,函数头部的​​sws0,8(sp)​​​和​​addis0,sp,16​​​和函......
  • 网络编程与并发周末总结
    目录网络编程软件开发架构架构总结网络编程理论OSI七层协议简介OSI七层协议之数据链路层网络层传输层传输层之TCP与UDP协议应用层网络相关专业名词socket模块socket代码简......
  • Java 函数式编程「二」
    接上回,聊聊函子functor。functor是一个容器。该容器的value属性指向被包裹的数据;该容器的map方法对容器进行映射变换。以下代码实现一个最普通的functor,称之为J......
  • 从Scratch 2学到的一些编程思想
    从Scratch2学到的一些编程思想所有程序都是事件驱动的mingdu.zhengatgmaildotcomScratch是麻省理工大学(MIT)为8~16岁的孩子开发的编程工具。Scratch的基本原理是为所选......
  • 在嵌入式软件中使用断言的一点想法
    嵌入式软件中的断言应该分成三个级别,而不是仅有启用和关闭两种。1、启用断言并打印可读信息;2、启用断言并打印代码地址、3、关闭断言。mingdu.zhengatgmaildotcom矛盾断......
  • 嵌入式软件异步编程:同步还是异步?
    异步并不总是提高效率的,那什么时候用同步,什么时候用异步呢?mingdu.zhengatgmaildotcom异步要解决的是CPU和I/O速度差异的问题,所以异步适合I/O远慢于CPU的情况,如果I/O仅稍......
  • 并发编程理论和进程理论
    目录一、并发编程理论操作系统发展史1、手工操作——穿孔卡片2、批处理——磁带存储1.联机批处理系统2.脱机批处理系统二、多道程序设计技术单道技术多道技术多道技术......
  • socket模块实现网络编程及struct模块解决黏包问题
    目录一、socket模块1、简介2、基于文件类型的套接字家族3、基于网络类型的套接字家族二、socket代码简介三、socket代码优化1.聊天内容自定义2.让聊天循环起来3.用户输入的......