stm32的串口无阻塞收发介绍.docVIP

  • 24
  • 0
  • 约7.97千字
  • 约 6页
  • 2018-03-29 发布于湖北
  • 举报
Stm32芯片目前具有一定的用户,例程也很多。大多数仅仅是“demo”的作用,往往只注重于功能的实现,意思就是说,看,这个usart功能这样就可以实现了。但应用于一个运行稳定的产品还需要很多技巧。 串口应用大概可以说在mcu应用来说是最广的,其主要作用就是收发,它在应用中又表现出两种类型,客户端(client)和服务端(server)。通信就是人与人聊天,人与人聊天的表现把人分为为问者和答者,或者说采访者和受访者。也可以说主从结构。 先说客户端,通常有两者做法,一是无阻塞式,一种是有阻塞式。前者是发出命令后,做一全局变量标识,记下我前一次发的什么命令,然后等待收数据的消息,在消息处理过程中根据命令标识来对收到的数据进行相应处理。 后者有阻塞式做法就是一个函数,发出命令后等待收到正确数据并解析。在等待的过程中可以用TickCount做timeout,超过一定时间还没收到数据可以退出返回false,解决死等的问题。因为操作系统有多线程,前者可以在主线程中写出稳定的通信,后者在线程中应用比较多。 服务端的做法思想和客户端不一样,是受访者,要做到有求必答。服务端重中之重的还是稳定第一。当然,收到正确的请求后到应答可以允许有一定的“思考”时间,。我通常是这样做,做一全局变量用于放接收到的数据,接收的地方只管往接收容器里装,发现满了就全部倒掉再装,其它不用管。在主循环中解析收到的帧数据做

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档