C语言关键字union在数据传输中的妙用
C语言关键字union,通常称为联合体或者共用体,其特性就是所有成员拥有相同的起始地址; 在数据传输的应用中,假如我们需要将一个具体的数值发送到对端,有很多的方法可供我们选择,比如把数值转换成字符串然后传输,对端再将字符串解析成数值是一种方法,其缺点是发送端发
C语言关键字union,通常称为联合体或者共用体,其特性就是所有成员拥有相同的起始地址; 在数据传输的应用中,假如我们需要将一个具体的数值发送到对端,有很多的方法可供我们选择,比如把数值转换成字符串然后传输,对端再将字符串解析成数值是一种方法,其缺点是发送端发
在上篇文章中已经讲了源码实现,这篇文章将教会你怎么使用和移植到自己的项目中去,以此系列第一篇文章的效果视频为例,通过实例的方式展现其用法,快速上手。 还是先贴上代码: `#ifndef __M_GUI_TEST_H define __M_GUI_TEST_H
在上篇文章中对多级菜单式GUI进行了简单的介绍,也给出了实际的演示视频,可以看出实际效果中我使用的文字作为选项,但不管是文字选项还是图标选项都是一样的,只不过是显示内容不一样而已,只需要更改一个函数就可以随意转换,今天讲讲源码实现相关的内容吧。 先贴上源码:(
有时候项目需求中需要人机交互,显示设备选择的是单色OLED屏,不支持触摸,操作接口是按键,如果你不想移植复杂的窗口式GUI库,就可以使用这种简洁的菜单式GUI(其实也不能完全的称之为GUI,一个GUI包含很多东西,我只是提供了一种思路,可以叫做框架吧),当然这
本文约定:操作系统仅指嵌入式实时操作系统,如:uCOS、freeRTOS、VxWorks、RT-Thread等,IDE:KeilMDK。 在程序功能不太复杂的情况下,可能我们并不会考虑在程序中加入一个操作系统,而是直接编写裸机程序,裸机程序一般分为前台程序和后
在某些场景我们需要将多个hex文件合并成一个hex文件烧写到芯片中,比如远程升级。 在做远程升级的时候,程序组合一般是IAP加APP的形式,本文只讲解最简单的单个IAP加单个APP的情况,实际上这个明白了,多个IAP加多个APP的情况也就是一样的方法。 用到的
在上一篇文章中讲解了怎样在线安装remote-ssh插件,搭建远程开发环境,本篇文章将会讲解在电脑完全离线的情况下,如何搭建环境,没看过在线环境搭建的建议先看一下上篇文章,与本文重复的内容将不会再次讲解,大部分操作都在上一篇文章中。 一、下载插件的版本一定要是
vsCode是微软的一个开源项目,目前非常受欢迎的一款轻量级代码编辑器(配合插件还可以进行调试、编译等操作),各种插件可以满足你的日常开发所需,remote-ssh是微软发布的用于远程开发的一款插件(与其同期发布的另外两款不同应用场景的插件不予介绍),如果你是
今天讲一下串口通信,这个也是嵌入式中非常常用的,讲到通信那么就一定有通信协议,这样在通信的双方才能够互相识别对方发送的数据,通信协议呢就是双方或多方约定好数据传送的格式,然后按照指定的格式打包和解析,再接收或者传送处理后的数据就行了。 既然是约定的,那么格式就
按键在嵌入式单板中几乎是必不可少的,可见其非常之重要,那么今天我们就来讲一下关于按键扫描的内容。 先讲一下按键抖动的内容吧,现在的单板系统中按键基本上都是机械式按键,那么机械式按键就存在抖动的问题,图1表示一个按键由按下到弹起的过程,理想波形是假设按键不存在抖
今天讲讲STM32输出调试信息的两种方式吧,只要是写程序那就几乎避免不了要打印调试信息,在单片机开发的时候我们打印调试信息普遍都是使用串口,但是随着软硬件的不断更新,现在我们可以使用更加方便的工具和方式来打印调试信息。 目前大家学习和使用比较广泛
bootm的镜像加载地址与uImage镜像的加载地址、入口地址之间的关系 分析的U-Boot源码版本为2021.07: wget ftp://ftp.denx.de/pub/u-boot/u-boot-2021.07.tar.bz2 make ARCH=a
本文参考文档为AMD64 Architecture Programmer’s Manual Volume 2: System Programming,版本号3.41,这不是对原英文文档的翻译,但是所有内容的排版都是根据原手册的排版来的,如有与官方文档冲突的内
文章目录 写在前面 软硬件环境 库函数接口 初始实现方式 第一次优化 第二次优化 最后的修改 收发数据模型 结尾 写在前面 串口在各种项目中可谓是太常用了,它也是搞嵌入式必须弄懂的一个通信协议,最近维护了很久的一个项目,设备内另一模块程序更新后出现了不稳定
文章目录 写在前面 为什么不让使用柔性数组 柔性数组 如何替代 后话 参考文档 写在前面 最近公司安排参与一个项目,设备运行环境是在低轨,对稳定性要求很高,之前没接触过相关的项目,便试图找一下有没有航天相关的嵌入式C语言编程规范,于是网上搜索了一番,发现并