Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-3
函数 可变参数列表 stdarg.h中的stdarg宏实现可变参数列表,它是标准库的一部分。这个头文件声明类型 va_list 和三个宏 va_start\va_arg\va_end . 示例: #include <stdarg.h> float average(int n_values, ... ) { va_list var_arg…

Warning: Trying to access array offset on value of type bool in /www/wwwroot/datasheep.cn/wp-content/themes/argon/functions.php on line 219
thumbnail
C和指针-2
指针 常见错误,使用未初始化的指针 int *a; ... *a = 12; NULL指针 NULL指针是一个特殊的指针变量,表示不指向任何东西,要使一个指针变量为NULL,可以给它赋一个零值,为了测试一个指针变量是否为NULL,可以将它与零值进行比较。机器内部而言,NULL指针的值可能与此不同,编译器负责零值和内部值之间的翻译转换。 对一个NUL…
VSCode 注释插件
简介 文件头部添加注释: * 在文件开头添加注释,记录文件信息/文件的传参/出参等 * 支持用户高度自定义注释选项, 适配各种需求和注释。 * 保存文件的时候,自动更新最后的编辑时间和编辑人 * 快捷键:window:ctrl+alt+i,mac:ctrl+cmd+i, linux: ctrl+meta+i 在光标处添加函数注释: * 在光标处自动…
Git commit 提交规范
Git commit 提交规范 commit message template Angular规范是目前使用最广泛的写法: Each commit message consists of a header, a body and a footer. The header has a special format that includes a ty…
嵌入式C代码编写规范
文章来源 痞子衡嵌入式-知名半导体MCU大厂软件开发C代码规范 我觉得值得收藏和遵循,将要点排版一下转载到博客。 基本排版格式 需要以4个空格为单位的缩进. 坚决不用Tab键,要用空格键.(个人喜欢用Tab) 所有文件结尾必须空一行. 文本文件必须用UTF-8编码. 每一行不能超过100个字符. 文档和注释 恰当地进行代码注释. 关于注释长度没有具…
STM32的开源Bootloader框架-RT-FOTA移植
简介 原仓库地址:基于STM32的开源Bootloader框架-RT-FOTA 这是一个基于 RT-Thread 的 STM32 bootloader,兼容 RTT 官方的 rbl 文件,即 RTT 官方的固件打包工具生成的压缩加密文件,具体的介绍可以参见STM32 通用 Bootloader。因为基于 RT-Thread 实时操作系统,此 boo…
RT-Thread STM32 OTA使用
背景 设备在完成开发后,往往后续会有 BUG 修复和功能更新等需求,这就需要对设备固件进行升级,但此时已经无法使用调试器进行烧录,所以给设备加上 OTA 功能显得非常必要。 RT-Thread STM32 通用 Bootloader RT-Thread 为 STM32 提供了通用的 Bootloader,通过网页简单配置即可生成相应的 Bootlo…
Modbus 调试
背景 大量的工业设备基本都支持 RS485 串行协议,包括绝大部分工业传感器,在 RS485 的基础上,支持 ModbusRTU 协议,所以有必要对Modbus进行支持。 Freemodbus Freemodbus 是 armink 大神移植的 Freemodbus 协议栈。同时支持主机和从机的功能。FreeModbus 是一款开源的 Modbus…
Modbus 协议简述
Modbus 主站/从站协议原理 Modbus 串行链路协议是一个主-从协议。在同一时刻,只有一个主节点连接于总线,一个或多个子 节点 (最大编号为 247 ) 连接于同一个串行总线。Modbus 通信总是由主节点发起。子节点在没有收到 来自主节点的请求时,从不会发送数据。子节点之间从不会互相通信。主节点在同一时刻只会发起一个 Modbus 事务处…
RT-Thread 配置片外Flash与EasyFlash组件
背景 由于内部 512KB FLASH 无法空出多的空间来运行 EasyFlash ,所以增加了外置的 W25Q128 存储芯片,容量为 128M Bit,即16M Byte,足够满足需求,并且有足够的空间为后续的 OTA升级、LOG 记录所使用。 配置FLASH bsp 自带了使能外部 spi1 flash的选项,型号也一致,直接打开就可以 在设…