- 博客(29)
- 收藏
- 关注
原创 等级日志输出
充沛的日志输出,对于程序调试、分析bug、程序行为记录等等扮演重要角色,完善的日志输出是程序设计的重要一环。根据打印等级来控制日志输出函数接口的调用,应对于不同的情景来控制是否需要日志输出。
2025-01-13 19:08:57
637
原创 状态机系列4之系统框架设计举例
假设以下是用户自定义的一个处理函数,在wifi 断连的时候做自定义的处理当我们把整个系统功能抽象成一个个接口函数供给用户调用,只需按照正确的流程操作接口函数开启功能,更加个性化设计、可操作化。
2024-11-11 17:02:39
324
原创 C语言笔记9之常用头文件总结
stdio.h>:标准输入输出函数,如printfscanffopenfclose等。固定宽度的整数类型,如uint8_t,uint16_t,uint32_t 等:通用工具函数,如mallocfreeexitsystem等。:字符串处理函数,如strcpystrlenstrcat等。:数学函数,如sincossqrtpow等。:日期和时间处理函数,如timeclockstrftime等。
2024-11-04 17:30:09
736
原创 C语言笔记7之函数的参数副本
我们已知函数参数传递有值传递 / 地址传递,本质上都是传递值从参数副本的角度看,应该是传递值的副本 / 地址值的副本副本的生存期即函数的生存,修改副本内容,并不影响原参数内容。
2024-10-21 15:43:50
202
原创 OCPP1.6 协议解读
3、startSchedule:绝对计划表的起始时间:如果该值缺失,则充电计划表的起始时间是相对充电交易开始的,用来表示当前充电计划表是否有一个明确固定的起始时间,其实没啥卵用,因为.....往下看。"limit": 50.0, // 每天早上 10 点到 11 点的最大充电速率为 50 A。"validFrom": "2024-09-25T10:00:00Z", // 配置文件开始生效的时间。"validTo": "2024-09-25T11:00:00Z", // 配置文件结束生效的时间。
2024-09-26 14:45:33
2821
1
原创 ESP开发网址
ESP-IDF 编程指南 - ESP32 - — ESP-IDF 编程指南 latest 文档入门指南 - ESP32 - — ESP-AT 用户指南 latest 文档
2024-09-24 11:14:03
128
原创 ESP 以太网通信搭建
使用ESP 内部自带的MAC(medium access control,媒介访问控制),通过RMII与外部PHY(physical,物理)即以太网芯片LAN8720 通信,搭建以太网结构,如图MAC是数据链路层的通信PHY是物理层的通信。
2024-09-10 15:25:59
836
原创 ESP 使用WiFiManager 配置web网页门户,设置wifi
ESP配置门户后会生成一个AP热点,手机连上热点后,会跳转到web网页(192.168.4.1),通过web网页可以设置ESP要连接的wifi,以下主要说明如何个性化设置Setup页,设置参数。
2024-09-06 11:39:29
403
1
原创 FreeRtos常用功能整理
说明:信号量通常用于规避一些资源(比如 UART、DMA、FLASH...)在不同进程时同时调用造成的冲突;说明:在“高任务”等待“低任务”的互斥信号量时,会暂时先把“低任务”临时提升到和“高任务”同等级,在获取完互斥信号量后,“低任务”等级恢复原来的低等级,避免任务优先级翻转。说明:事件组即类似常用的全局变量 bit0 ~ bitx 的标志位,标志“某个事件”or“一系列事件”发生的标志。说明:二值信号量先 take 先得,take 后要 give 给其他任务用。说明:任务之间通过队列交互信息数据。
2024-08-29 15:14:59
332
1
原创 C语言笔记4之sprintf、snprintf、scanf、sscanf等常用的格式化输入输出
/int value = 100,以字符串"100"存储在s中,即s = {'1','0','0',\0}2、sprintf(s, “%s”, buff);
2024-08-23 18:19:24
292
原创 C语言笔记3之sizeof 操作符的使用
存储在只读数据段(常量区),所以得到效果等同于 sizeof("hello world") == sizeof(数组名),返回的大小是。1、sizeof(变量) 返回变量占用的内存大小,如 char 类型就1字节,xxx结构体类型变量则按结构体类型来确定。4、sizeof("hello world") 我的理解是该常量字符串会以 "hello world\0" (2、sizeof(数组名) 返回数组占用的内存大小,即数组总大小。返回值单位:byte。
2024-08-23 17:03:51
238
原创 Git 办公常用功能
git remote rm origin,删除远程仓库。git checkout -b 分支名,创建分支。git remote -v,查看关联的远程仓库。git checkout 分支名,切换分支。git branch,查看当前分支。git log,查看修改记录等。克隆远程仓库,设置关联。
2024-08-14 09:19:26
187
1
原创 C语言笔记2之代码规范
如timeCnt、time_cnt、callbackEventFunc()、callbackEvent_Func(),即指向任意数据类型,通常在不明确要返回什么数据类型、或不明确要指向什么数据类型时使用。,可通过强制类型转换让指针指向不同类型,不同类型指针访问同一块内存,得到不一样的值。4、尽量不要使用*p++,指针的解引用(取值)*p,指针的偏移p++应该。,尽量不要使用编译器默认初始化,如int gTimeCnt = 0;3、指针传参时,只要不改变区域内容,参数指针前。
2024-08-08 11:38:39
1866
原创 xxx子任务里,时间计时架构设计
/注意不能存在阻塞,否则会影响计时的准确性。//注意不能存在阻塞,否则会影响计时的准确性。//注意不能存在阻塞,否则会影响计时的准确性。//注意不能存在阻塞,否则会影响计时的准确性。osdelay(1);//整个子系统延迟1ms。// 时间计时循环函数:该函数要放在1ms下执行一次。//联合体里使用位域结构体。// 100ms事件。// 500ms事件。//假如这是某个子任务。
2024-08-08 09:57:13
240
原创 C语言笔记1之不定参数的使用
/ 返回实际写入str 目标存储区的字符数(不包括空字符)va_start(args, format);//初始化args,指定为 “最后一个固定参数”// 确保字符串以空字符结尾。// 如果需要,可以在这里处理溢出情况,比如截断字符串或设置错误码。// 或者返回其他表示错误的值。#include <stdarg.h> //调用该头文件。// 检查是否发生了缓冲区溢出。
2024-08-08 09:10:33
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人