0
点赞
收藏
分享

微信扫一扫

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


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

同步编程

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

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

异步编程

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

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

2019-05-10 补充

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


举报

相关推荐

0 条评论