上、下位机软件通信时,结构体的内存对齐问题
摘要:嵌入式开发,上位机软件与下位机软件通信发送结构体数据时,由于两者 IDE 通常不同 (因此编译器通常也不同),导致上下位软件各自编译器的默认 “对齐系数” 也可能不同。 此时需在代码中指定一个一致的 “对齐系数” 。 注1:推荐指定 “对齐系数” 的格式如下: #pragma pack (push,
阅读全文
posted @
2018-08-27 16:01
青叶煮酒
阅读(188)
推荐(0) 编辑
C 语言能不能在头文件定义全局变量?
摘要:可以,但一般不会将全局变量的定义写在头文件中。 因为如果多个 C 源文件都添加了头文件,很容易引起重定义的问题。这时候一般编译器都会提示:“multiple definition of... first defined here” 错误。 正确的作法是在 C 源文件中定义一个全局变量,并在对应的头文
阅读全文
posted @
2018-08-21 13:24
青叶煮酒
阅读(1784)
推荐(0) 编辑
注释格式
摘要:1、文件注释/* * fmcVoltage.h * * Created on: 2018/08/20 * Author: zhu.gd */ 2、函数注释:/* * @Brief: * Export GPIO * * @Param: * iGPIO_number [the number of GPI
阅读全文
posted @
2018-08-16 16:16
青叶煮酒
阅读(296)
推荐(0) 编辑
C++ 日志生成 DLL
摘要:示例: #define log_dbg(format,args...) \ printf("[DBG] [%s: %s() line:%d]: "format ,__FILE__,__func__,__LINE__,##args) 注:__FILE__,__func__,__LINE__ 为编译器内
阅读全文
posted @
2018-08-10 14:55
青叶煮酒
阅读(236)
推荐(0) 编辑
Linux Shell 简介
摘要:什么是 Shell Shell 是用户和 Linux 内核之间的接口程序,当从 Shell 或其他程序向 Linux 传递命令时,内核会做出相应的反应; Shell 是一个命令语言解释器,它拥有自己内建的 Shell 命令集,也能被系统中其他应用程序所调用; Shell 是一个解释型的程序设计语言,
阅读全文
posted @
2018-08-07 14:10
青叶煮酒
阅读(578)
推荐(0) 编辑
IIC 设备使用
摘要:通过 读 / 写 IIC 设备上特定的存储空间,来使用设备提供的功能: 存储空间地址 = 设备名 + 设备地址(Slave Address) + 寄存器地址 。 注:设备地址、寄存器地址、地址中写入数据的格式等,可查阅 IIC 设备对应的数据手册(DataSheet)。 如何连接 IIC 设备到单片
阅读全文
posted @
2018-08-06 18:10
青叶煮酒
阅读(174)
推荐(0) 编辑