- 博客(62)
- 收藏
- 关注
原创 Uboot移植实验(配套正点原子)
正点原子视频网址这里记录视频中操作,以及自己的一些想法,如果错误,还请提出。视频中对于vscode的操作我就忽略了,也就是屏蔽一些文件显示的操作。
2025-12-18 00:43:37
779
原创 AT32驱动RTL8201F网口芯片(含代码)
t=P9T8参考文章https://blog.youkuaiyun.com/qq_42151264/article/details/127218312。
2025-11-17 16:30:54
631
原创 linux驱动学习--获取设备树节点的属性值
这里对应韦东山linux应用开发完全手册的11.7章,主要给出参考的代码,让大家熟悉驱动开发的api具体的使用示例,如果错误,希望即使提出,我会做出修改。
2025-11-03 10:35:44
296
原创 linux驱动学习---有些节点不会生成platform_device,怎么访问它们
这里对应韦东山linux开发手册11.7.3节内容。进行整理和对api使用方法的学习,以作备忘。如有问题,请大家提醒。
2025-10-31 14:43:39
634
原创 linux驱动学习---驱动与设备配对顺序以及一些函数的记录
这里对应韦东山老师的linux应用开发手册第17章,本人记录下自己的一些认识与疑惑。如果错误,还请大家纠正。
2025-10-30 18:59:15
850
原创 linux驱动学习--总线设备驱动模型
start = 0x10000000, // 资源起始地址(物理地址或者中断号等).end = 0x10000fff, // 资源结束地址(或同中断起始一致).flags = IORESOURCE_MEM, // 资源类型标记:内存、IO、中断等.name = "my_demo_mem", // 资源名字,仅供分析调试},.start = 42, // IRQ 号 42.end = 42,
2025-10-28 18:20:34
878
原创 c++注意点(15)----中介者模式
中介者模式是一种行为型设计模式,用一个中心对象(中介者)来封装多个对象之间的交互逻辑,避免这些对象互相强耦合,从而让对象之间的通信通过中介者来完成。不让各个模块直接互相调用,而是都通过一个**“中央调度员”**去协调它们。这个中央调度员就是中介者(Mediato)。
2025-10-23 17:50:31
376
原创 设计一个状态机
/ 事件来自哪个模块// 事件类型// 时间戳(可选)int value;// 额外数据(例如温度值、电量等)// 协调器->Worker的状态队列。
2025-10-22 19:47:40
918
原创 AT32 sdio+cJson读写(sd卡常用操作)
添加文件sd_user.c,sd_user.h。自己随意放在哪里,记得包含头文件路径即可,并将.c文件加入工程。这里主要使用使用sdio来驱动sd卡。同时需要按照数据格式,通过cjson来将数据写入json文本中。由于我们使用cjson,所以需要打开ffconf.h。通过sd_init来配置自己的io。我们只是用cJSON.c和cJSON.h文。3.列出指定的路径下的所有文件和文件夹。6.从json中,读取json数据。当前项目使用当前示例文件开始。首先下载cjson源码。5.写数据到json。
2025-09-22 18:21:14
246
原创 自己写一个modbus通讯库(在freertos下)
最近使用freemodbus库,在移植到单片机上总是出现各种问题。看了源码,也觉得很多处理不是很清晰。总是会出现运行1-2h就出现断联情况,索性自己写一个modbus通讯库。目前我测试运行了10-12h,数据是没有问题的。等后续再无问题,就再重新整理。
2025-09-17 12:31:52
381
原创 modbus两个客户端抢占问题及收发一段时间后断开
在modbus测试过程中,发现会出现以下两种问题出现:一、当一个客户端连接后、收发一段时间会出现掉连的情况。二、当一个客户端连接上后,另一个客户端不断尝试连接,会导致第一个客户端也掉线,同时ping也无法正常ping通。经过三四天的排查,也算是找到了一点原因:接下来解释一下这些情况发生的原因。
2025-09-09 10:33:14
601
原创 html学习(完结)
除了自带的属性,HTML 也允许我们自定义属性,这些属性虽然可以被浏览器识别,但是并不会添加什么特殊效果,我们需要借助 CSS 和JavaScript处理自定义属性,为 HTML 标签添加指定样式或者行为。
2025-09-04 18:31:27
1104
原创 freeModbus TCP收发数据一段时间后,出现掉线情况(time out问题)
如果之前你通告的窗口很小甚至 0(对端几乎/完全停发),你现在一下子释放了不少空间,就马上通知对端“可以继续冲了”,避免对端等到延迟 ACK 定时器或其他机会才知道 → 降低停顿时延。大家可以仿真到这里,打上断点,看看能不能进入这个判断中。你应该设置的小点,或者删去判断,一帧一个ack。同时不对每个很小的释放都即时发 ACK(那样 ACK 会太多),所以设置阈值来折中ACK 数量和时延。我们看看tcp_recv,发现其主要是设置了接受回调函数,当收到数据后,调用接受函数来处理tcp帧。话说这个是真难找啊。
2025-08-26 18:25:12
417
原创 modbus绑定变量,并发送8位数据的办法
方法一、写一个定时扫描的函数,来比对数组和变量的值,用来检查是否发生变化。这个方法本人认为,首先占用时间,其次对于数据的维护不安全,万一扫描的间隔中,数据发生变化,并且需要读取了,那么此刻读取变量了,那么变量的值就没有发生及时变化。方法二、绑定变量,在接受时,直接修改变量。这个方法就是我采用的方法。
2025-08-22 17:38:36
871
原创 旋钮键盘项目---foc讲解(闭环位置控制)
hello,周六休息了一天,出去打本了。趁着夜色,花费了几个小时,也是将闭环代码写完,参考了灯哥的思路。
2025-08-17 23:53:38
1012
原创 旋钮键盘项目---foc讲解(开环)
这里就不过多的讲解什么原理,公式的变换了,感兴趣的可以看,讲解的非常好的。当然,更细致的讲解,也可以看b站其他教学。我这里主要讲解我对于开环部分的理解,以及stm32代码的实现逻辑。可以看作是讲解灯哥的代码流程,毕竟是一致的。本次stm32使用hal库开发。
2025-08-16 00:06:38
966
原创 c++注意点(15)----设计模式(桥接模式与适配器模式)
所以,对于lvgl开发者,那么他只需要自定规定一个画点函数,指定他的功能,输入,输出。在软件开发中,我们经常会遇到这样的情况:已有的类(或组件)功能完备,但它的接口(方法名、参数列表等)与当前系统的需求不匹配。适配器模式正是为了解决这种 “接口不兼容” 的问题而诞生的 —— 它通过引入一个 “适配器” 类,将已有类的接口转换为系统所需的接口,使得原本因接口不匹配而无法协作的类能够一起工作。而且用户在移植lvgl库时,也一样的,只需要将所有的源码移植到程序中,将底层的接口自己实现一下,便也可以正常的使用。
2025-08-08 10:01:49
275
原创 c++注意点(13)----设计模式(抽象工厂)
抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。简单说,它就像一个 "超级工厂",可以生产一整套配套的产品,而不是单一产品。比如说GUI,在windows平台使用windows风格,mac使用mac风格。
2025-07-25 15:10:01
296
原创 c++注意点(12)----设计模式(生成器)
生成器模式(Builder Pattern)是一种创建型设计模式,它专注于,使得同样的构建过程可以创建不同的表示。就像是做饭,你可以自己慢慢做,各个步骤自己选择。而使用生成器就像是预制菜,所有的最后菜的样子,已经规划好了。你只能从中选择一个。
2025-07-25 14:15:09
755
原创 c++注意点(10)----设计模式(原型)
原型模式的目的就像如果你有一个对象,你现在希望生成一个与之一模一样的复制品,该如何实现呢?流程一般是:新建一个属于相同类的对象,然后遍历原始对象的所有成员变量,并将成员变量复制到新对象里。但是这种情况有些问题.想。
2025-07-25 11:08:09
667
原创 c++注意点(9)----设计模式(单例)
有些情况下,我们对于一个类,并不希望他在程序里出现太多的实例,我们只希望这个类是只有一个实例。举个简单的例子,比方说电脑的回收站,他不能像文件夹一样打开多个,他只能存在一个。这种具有唯一性的,就是单例要想做到的。它类似于全局变量,却又不是全局变量。
2025-07-25 09:54:29
230
原创 canopen主从站高速sdo通讯出现堵塞问题
当然,长时间运行,当定时器中断时间接近for循环里的等待时间时,仍然会出现卡顿情况,这个原理是和我们之前的一样的。而sdo时安全通讯,并不会出现丢包,没有接收到回应,那么就会发送堵塞。本人在主站将从站通过NMT修改从站达到operation状态后,在死循环while中不断发送WriteSDO发送sdo指令后,出现在发送一段数据后,出现卡在上述WriteSDO函数的while循环里。可以看到,这里我的主频未288Mhz,计数65535后触发中断,共耗时约655.35ms才会进入定时器中断,而定时器中断里。
2025-07-22 18:53:22
468
原创 二本嵌入式学习路线分享
学习了arduino,自学了c语言,c++(c++是真的痛苦),做了蓝牙遥控小车,巡线小车。用C的easyx库写了个打砖块游戏,推箱子。做了arduino的蓝牙机械臂,门禁。开始学习stm32,开始各种模块的接触和摸索,开始各种协议的学习。暑假里学了lvgl,写了两个demo,受到了鼓励。其余时间放在了学习stm32上。学了网络通讯,写了客户端和服务端的通讯测试。学了qt,学了mysql数据库,写了一个联合的demo检验。感受到了局限,没有人指导,有点迷茫了。剩下的明天写吧,晚安大家( ̄▽ ̄)ノ。
2025-07-16 00:53:00
675
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1