- 博客(8)
- 收藏
- 关注
原创 CAN通信协议基础教程:原理、架构及应用
在当今的电子系统中,通信协议是实现设备之间高效、可靠交互的核心技术。从简单的传感器网络到复杂的汽车电子系统,通信协议都扮演着至关重要的角色。CAN(Controller Area Network,控制器局域网)通信协议作为一种高性能的串行通信协议,因其卓越的可靠性和灵活性,被广泛应用于汽车电子、工业自动化等领域。本文将解析CAN通信协议的原理、架构和应用,为初学者提供一个系统的学习框架,也为有一定基础的读者梳理知识要点,加深理解。文中不足的地方还请大家多多指点。
2025-06-08 16:12:43
535
原创 基于维特6轴IMU模组和ESP32来控制2维舵机云台
维特智能的6轴IMU模组可以自动输出角加速度、陀螺仪、角度等信息,并且可以通过串口或者I2C读取,因此我们可以直接将读取到的IMU姿态角映射到PWM波的脉宽,从而实现2维舵机云台的简单控制。本文使用ESP32S3通过串口读取IMU数据并生成对应的PWM波控制2维舵机云台。以上已经通过ESP32的串口功能成功读取到imu模组输出的信息,但是要驱动舵机的话,需要PWM波,这里就不具体介绍PWM的相关理论了,而是简单介绍一下ESP32的PWM资源。本文使用的是ESP32S3,其PWM资源如下。
2025-05-28 09:00:00
1026
原创 ESP32串口通信(胎教级教程)
ESP32 DevKit-C 开发板基于 ESP32 芯片,该芯片总共支持3个 UART 接口,分别是 UART0、UART1 和 UART2。
2025-05-25 15:25:07
1114
原创 常用git命令及工作流程
如果远程分支名和本地分支名相同就可以只写一个名,即git push -u <远程分支名>,一般是git push origin <远程分支名>(这里远程分支名如果不存在的话会自动创建并推送)7.建议每次在push前先git pull(git pull 默认会从当前分支跟踪的远程分支拉取代码并尝试合并)拉取仓库的更新 确保自己是基于当前分支的最新版本来提交的,主要是由于协作开发的缘故。参数会建立本地分支与远程分支的跟踪关系,后续推送或拉取只需使用git push或git pull即可,无需再指定远程分支)
2025-05-22 21:25:38
194
原创 数据结构之链表
双链表的插入逻辑跟单链表类似,只不过要处理2个指针,一个是next,一个是prior。在删除结点时,要找到被删除结点的前一个结点;结构,是一种常见的基础数据结构,它由一系列节点(Node)组成,每个节点包含。1.每个结点包含数据元素和两个指针,一个指向后继结点,一个指向前驱结点。1.链表最后一个结点的指针指向第一个结点,在逻辑上形成一个闭环。删除时要先找到被删除节点的前一个结点,然后对接其前后的结点。2.只能从头到尾遍历,每个结点只能访问它的后一个结点。1.每个结点包含数据元素和一个指向下一结点的指针。
2025-03-15 00:05:59
407
原创 C语言笔记v1
虽早在大一便初涉C语言之境,然彼时仅为应试而仓促突击,未得其精髓,亦未能系统研习。趁着研一寒假,又把C语言回炉重造了一番,记下这篇笔记。常言道,C语言要学是永远学不完的,因此该笔记为v1版本,后续还会继续补充。该笔记并不对所有C语言知识面面俱到,而是笔者择其要者而记,其间难免有疏漏与不足,恳请诸位大佬前来指正,多多交流,以期共同进步~。
2025-03-02 22:13:47
874
原创 基于遗传算法的TSP问题优化(超详细)
定义一个嵌套列表city,内部包含各个城市的数据,每一个数据为[城市号,x坐标,y坐标],再定义一个列表number记录每个城市的城市号,后续通过number里的城市号来从city里检索其对应城市的坐标等数据。当然,这些城市的x,y坐标可以随意定义,甚至城市数量也可以任意。本文这里定义20个城市。# 定义一个20*3的矩阵,分别代表20个城市以及各自的x和y坐标。
2024-06-30 13:33:26
4943
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人