- 博客(11)
- 收藏
- 关注
原创 STM32的启动过程
不同的STM32系列(F1, F4, H7等)和不同型号(Flash/RAM大小不同)都有对应的启动文件。总结:最常使用的是内部flash启动,即表格的模式一。他是生成的列表文件,包括:各种.c文件,函数,符号等的地址,大小,引用关系等信息,用于分析.c文件占用FLASH和RAM的大小,方便优化代码。:当STM32上电,或者按下复位键,或者看门狗复位等事件发生时,芯片内核(Cortex-M系列)会进入复位状态。:由汇编编写的启动文件开始执行,初始化堆栈、全局变量,并调用库函数进行更复杂的初始化。
2025-11-06 11:24:05
881
原创 ESP32项目初识
Espressif ide是一个基于Eclipse CDT的集成开发环境(IDE),用于使用ESP-IDF框架开发物联网应用程序。由乐鑫官方开发,在eclipse编辑器上进行修改和优化,集成了ESP开发环境和工具,建议使用。他的github项目地址。如果是windows系统,则选择图片版本下载之后,默认安装。安装成功后在桌面上可以看到3个图标:双击Espressif-IDE,即可开发esp32。
2025-08-08 13:36:53
283
原创 I2C时序及操作
虽然说任何一个设备都可以作为主机,但绝大多数情况下我们都是用单片机来做主机,而总线上挂的多个器件,每一个都像电话机一样有自己唯一的地址,在信息传输的过程中,通过这唯一的地址就可以正常识别到属于自己的信息,在 KST-51 开发板上,就挂接了 2 个I2C 设备,一个是 24C02,一个是 PCF8591。我们在学习 UART 串行通信的时候,知道了通信流程分为起始位、数据位、停止位这三部分,同理在 I2C 中也有起始信号、数据传输和停止信号。
2025-06-25 11:34:43
1694
原创 WebSocket和HTTP
首先,HTTP和WebSocket都是应用层协议,基于TCP。不过它们的用途和工作方式不同。HTTP是无状态的,每个请求都是独立的,而WebSocket是双向的、持久的连接,适合实时通信。接下来,比较它们的几个关键点。
2025-05-13 09:33:36
994
原创 HashMap源码分析
出现Hash冲突,会导致存放在同一个index下,链表变得很长,此时就引入了红黑树。Hash也称散列,哈希。这个映射的规则就是对应的Hash算法,而原始数据映射后的二进制串就是哈希值。由于Hash的原理是将输入空间的值映射成Hash空间内,而Hash值的空间远小于输入的空间。根据抽屉原理,一定会存在不同的输入被映射出相同的输出的情况。抽屉原理:桌上有十个苹果,要把他们放到九个抽屉中,无论怎么放,我们会发现至少会有一个抽屉放不少于两个苹果。put到HashMap里的元素,封装成node元素,存放到散列表中。
2025-04-27 18:36:16
315
原创 跨周计算星期一的时间
现在有个需求,设置每周n生成工单,有个提前生成时间,比如设置周一,提前8小时生成,计算方法为周一零点的时间-8小时,今天是周日,我需要在周日的16点生成工单,需要获取生成工单的时间。在这里用到了比较巧妙的思维,通过比较当前时间和计算时间,如果当前时间大于计算时间,则计算下周,反之则获取本周时间。
2025-04-15 18:20:06
295
原创 物理服务器的配置修改
这里有两个工具,NetworkManage和wpa_supplicant,这里主要介绍NetworkManage的使用keyfile插件默认支持Wi-Fi,无需额外配置,修改配置文件后,记得重启服务。
2025-04-11 20:14:05
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅