【蓝桥杯单片机10】串行接口的进阶与实战应用

【蓝桥杯单片机10】串行接口的进阶与实战应用编程

广东职业技术学院 欧浩源数组

      串行接口做为51单片机的重要外设,编程操做并不复杂,但在实际的项目应用中,因为数据结构和通讯规约的不一样,其程序逻辑也有各类变化,不会像“【蓝桥杯单片机09】串行接口的基本原理与应用”中说的那么简易。
      通常状况下,上位机的命令可能不是一个字节,而是多个字节组成的命令帧,有的长度固定,有的长度变化;并且要求返回的数据可能也不是一个字节,多是一个数组,也有多是一个字符串等。在蓝桥杯的比赛中,也不可能让你只是收发一个字节而已,所以,在串口这一个单元中,必须多加一个强化环境,掌握多字节的数据帧收发应用。
      具体的实现有不一样的思路,主要仍是经过实战案例来理解和强化。数据结构

一、单元实训题目框架

二、程序设计思路与框架
      首先要认真阅读通讯规约,在阅读的过程当中,头脑中就应该逐渐将文字信息抽象成为数据结构,该定义多少变量,须要多大的数组,程序大体要安排那几个函数,怎么把它们搭建成程序框架...在动手敲代码以前都应该有一个大概而清晰的轮廓。
     就本题来说,通讯规约中明确指导命令帧的长度为4个字节,并且有固定的帧头和帧尾,一个用于接收数据的4字节数组是确定须要的。
     何时才是命令帧接收完成呢,这就须要一个全局的标志来通知主函数了。
     固然你还须要,串口初始化函数、字符串发送函数、串口数据接收函数、和命名解析执行函数。
     所以,你能够获得下面的程序框架结构:函数

      

三、关键代码的实现
      教程到了这个阶段,若是你细心观察的话,你就会发现不少代码块是能够重用的,直接拷贝来,一个字母都不用该就能用。例如,串口初始化函数Init_Uart()和单字节发送函数SendByte()就不须要修改,拷过来就能用。
      其余的代码实现起来也不难,几个关键的代码实现,你们能够参考:
      <1> 字符串发送函数spa

      

      <2> 串口数据接收函数设计

      

      <3> 命令帧解析执行函数3d

      

*************蓝桥杯单片机视频教程(永久免费)*************视频

************************************************** blog

相关文章
相关标签/搜索