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

一只爱蜜蜂的小学习 一只爱蜜蜂的小学习     2022-11-06     484

关键词:

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

广东职业技术学院 欧浩源

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

1、单元实训题目

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

      

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

      

      <2> 串口数据接收函数

      

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

      

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

************************************************** 

 

蓝桥杯——说好的进阶之全然背包问题

有N种物品和一个载重量为W的背包,每种物品都有无限件可用。第i种物品的重量是w,价值是p。将哪些物品装入背包可使这些物品的重量总和不超过背包总重量,且价值总和最大。(对照01背包问题,取或不取与无限件)s... 查看详情

蓝桥杯十四届单片机省赛

...届省赛题、国赛题1.基础模块【小蜜蜂笔记】蓝桥杯大赛-单片机设计与开发基础技能与进阶强化教程_哔哩哔哩_bilibili可能会遇到的问题1.不抖的超声波、接受字符串的串口、在我主页里面有2.温度转换不成功  http://t.csdn.cn/AwU5v2.... 查看详情

蓝桥杯单片机自锁怎么解决

参考技术A1、首先找到蓝桥杯单片机,先将其关闭锁存器,在找到芯片P10、p11口。2、其次在将芯片的P10、P11口一起接地,再连接电脑冷启动。3、最后在把单片机的自锁按钮按下就会解锁,即可解决。 查看详情

python|蓝桥杯进阶第三卷——动态规划(代码片段)

欢迎交流学习~~专栏:蓝桥杯Python组刷题日寄蓝桥杯进阶系列:🏆Python|蓝桥杯进阶第一卷——字符串🔎Python|蓝桥杯进阶第二卷——贪心💝Python|蓝桥杯进阶第三卷——动态规划✈️Python|蓝桥杯进阶第四卷—... 查看详情

蓝桥杯单片机设计与开发_基础模块_ds18b20(代码片段)

...部分竞赛模块,笔者将基于上一篇文章(蓝桥杯单片机设计与开发_标准模板)中讲解的标准模板编写程序。按照顺序(DS18B20、DS1302、PCF8591、AT24C02、PWM、串口通信、NE555以及超声波测距),为大家做出详细... 查看详情

蓝桥杯单片机设计与开发_基础模块_ds18b20(代码片段)

...部分竞赛模块,笔者将基于上一篇文章(蓝桥杯单片机设计与开发_标准模板)中讲解的标准模板编写程序。按照顺序(DS18B20、DS1302、PCF8591、AT24C02、PWM、串口通信、NE555以及超声波测距),为大家做出详细... 查看详情

蓝桥杯15——pcf8591与24c02综合应用:智能照明自动控制器(代码片段)

智能照明自动控制器在蓝桥杯大赛“单片机设计与开发”的在CT107D综合训练平台上,利用竞赛提供的IIC底层驱动代码,设计程序,实现以下的功能:系统上电后,通过采样PCF8591通道1中光敏电阻RD1的实时数据&#x... 查看详情

蓝桥杯题目难吗

... 3、嵌入式设计与开发:包括大学组,研究生组;  4、单片机设计与开发:大学组;  5、电子设计与开发:大学组。 查看详情

蓝桥杯单片机定时器与中断秒表实验+proteus仿真(代码片段)

蓝桥杯单片机定时器与中断秒表实验Proteus仿真秒表实验实验目标:在CT107D单片机综合训练平台上,利用定时器T0、数码管模块和2个独立按键(J5的2-3短接),设计一个秒表,具有清零、暂停、启动功能。实验要求:显示格式为:分-... 查看详情

蓝桥杯——说好的进阶之买不到的数目

问题描写叙述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比方要买10颗糖。你能够用计... 查看详情

蓝桥杯单片机组训练导航

蓝桥杯单片机组训练导航以下的资源完全免费,只求点赞收藏有博主为13届蓝桥杯省赛而练习的题目:蓝桥杯单片机历年省赛例程(第9届-第12届)-单片机文档类资源-CSDN文库有博主整理的近几年的客观题的汇总... 查看详情

蓝桥杯单片机芯片型号

参考技术ADP911。DP911是一种单片机,蓝桥杯比赛DP911组不止用这一种单片机,还有DP901/DP811,这两个也都是可以的。 查看详情

蓝桥杯单片机组训练导航

蓝桥杯单片机组训练导航以下的资源完全免费,只求点赞收藏有博主为13届蓝桥杯省赛而练习的题目:蓝桥杯单片机历年省赛例程(第9届-第12届)-单片机文档类资源-CSDN文库有博主整理的近几年的客观题的汇总... 查看详情

蓝桥杯单片机第六届(代码片段)

全部文件:提取码:azxy直接看题目吧。我感觉这一届的主要考点是如何用定时器读取10个温度值。#include"STC15F2K60S2.h"#include"intrins.h"#include"ds1302.h"#include"onewire.h"typedefunsignedcharu8;typed 查看详情

蓝桥杯单片机第六届(代码片段)

全部文件:提取码:azxy直接看题目吧。我感觉这一届的主要考点是如何用定时器读取10个温度值。#include"STC15F2K60S2.h"#include"intrins.h"#include"ds1302.h"#include"onewire.h"typedefunsignedcharu8;typed 查看详情

蓝桥杯单片机第八届国赛题目-超声波测距机的功能设计与实现(代码片段)

文章目录题目文件树代码init.cmain.ciic.cinit.htype.h题目文件树代码init.c#include"init.h"voidTimer1Init(void) //2毫秒@12.000MHzAUXR|=0x40; //定时器时钟1T模式TMOD&=0x0F; //设置定时器模式TL1=0x40; //设置定时初值 查看详情

stm32g4备战蓝桥杯嵌入式---实战---第八届嵌入式省赛

...。合理选择流水灯的流水方式和时间间隔。5.RTC功能通过单片机片内RTC设计实现时钟功能。二、需要代码私信由于本赛题在配置方面并不难,但是逻辑上十分绕,本人也是几个小时才写出来。在此提 查看详情

蓝桥杯单片机

1.蓝桥杯单片机学习总结【准备篇】声明:保姆级教程,适用于单片机初学者,有编程经验者其实很多都不用的。本人某秃头专业女大学生,参加了两届蓝桥杯比赛,十二届国二选手,略有心得,想记... 查看详情