- 博客(33)
- 收藏
- 关注
原创 [Python快速入门]基础语法以及使用
元组的元素不能被修改(比如append),但可以通过重新赋值来改变整个元组;函数内声明的变量只能函数内部使用,其他地方使用会报错;self只能有一个,通过数据传输进来;同一变量可以重复定义。
2025-10-24 14:30:25
346
原创 【机械臂运动学基础】变换矩阵
目录一、坐标系的旋转和移动1.1 同时表达旋转和移动1.1.1 用法1.1.2 证明过程1.1.3 例题1.2 基于向量同时表达旋转和移动1.2.1 用法1.2.2 证明过程1.2.3 例题1.3 多个坐标系的转换1.3.1 用法1.3.2 连续变换1.3.3 反矩阵
2025-10-18 16:51:34
251
原创 【机械臂运动学基础】旋转矩阵
本章节主要讲了旋转矩阵的作用,其中分为固定坐标系和角度之间的转换(Euler Angles),和欧拉角坐标系角度之间的转换(Fixed Angles),通俗来讲就是一个固定一个不固定,一个没有世界坐标系一个有世界坐标系。重点在于坐标系和角度之间的转换,需要熟练使用。
2025-10-10 17:02:37
767
原创 江科大STM32,BKP备份寄存器&RTC实时时钟,学习笔记
t=P7R7strftime() 使用方法https://www.cainiaojc.com/c-programming/c-function-time-h-strftime.html。
2025-09-25 17:30:16
442
原创 [模块教学]VK16K33_8×16LED矩阵屏的驱动以及技术文档,矩阵屏, 详细配置说明
本文介绍了VK16K33驱动源码及文档内容,主要包括软件IIC初始化和8×16点阵屏控制。详细说明了IIC通信的三种格式:写命令、写字节数据和读数据,均包含起始位、7位从机地址、读写位、应答位和停止位等步骤。同时列举了点阵屏控制的5种关键命令:工作模式设置、LED显示设置、SEG/INT设置、RAM地址指定以及亮度调节。其中RAM地址用于数据写入时的位置指定,配合数据写入操作实现显示控制。文档提供了完整的流程图和配置说明,可参考文件获取具体实现细节。
2025-09-10 14:49:37
354
原创 嵌入式蓝牙模块学习,两个HC05进行主从通信,实现远程无线连接
HC05可用于两个芯片之间的通信,代替串口通信之间的连接线的作用,可用于无线通信,接下来就教大家如何使用HC05完成设备之间的主从通信。
2025-08-19 14:43:59
551
原创 STM32江科大学习笔记,全功能按键非阻塞式实现,按键点击,双击,长按
由于普通Delay延时函数会出现阻塞主函数的运行,会发生主函数变慢或者停止的情况,在没有使用RTOS的情况应该如何实现非阻塞呢,以下为个人学习经验分享,学习来自江科大。
2025-08-06 16:42:47
1349
3
原创 DX-BT05蓝牙模块主从双向通信及主从模式配置详解
设置完成了,现在你可以实现两个蓝牙之间的通信了,记住单片机内部的波特率也要保持一致,串口全部设置波特率一样的就可以了,还有TXRX要反接(这里第一张图已经说清楚了)也祝各位能正常运行。
2025-07-31 10:48:57
294
原创 MLT-BT05蓝牙模块常用AT指令集
用户可以通过串口和蓝牙芯片进行通信,串口使用 Tx, Rx 两根信号线,波特率支持2400,4800,9600, 19200,38400,57600,115200。串口缺省波特率为 9600bps。MLT-BT05 4.0 蓝牙串口模块指令为 Command 指令集。(注:发 AT 指令时必须回车换行, AT 指令只能在模块未连接状态下才能生效,一旦蓝 牙模块与设备连接上,蓝牙模块即进入数据透传模式)(AT 指令不区分大小写,均以回车、换行字符结尾:\r\n)
2025-07-31 09:39:37
410
原创 CanMV K210开发板基础外设综合实验:RGB灯、按键、定时器、呼吸灯、LCD、摄像头与串口应用
定义LED引脚编号,K210开发板上RGB灯的引脚(RED=27, GREEN=26, BLUE=29)# 创建定时器对象,设置为PWM模式# 创建PWM对象,设置频率为500kHz,占空比为50%,控制LED_PINTimer.TIMER0~TIMER2,传输定时器对象freq =?为数字,PWM波形频率duty =?为占空比,取值为0~100pin =?为引脚IO口Ture或False,打开或者关闭,默认打开。
2025-07-23 14:14:24
1327
原创 HC-SR04超声波模块使用教学
在下降沿的时候触发中断,结束计时进行读取定时器CNT的值,因为每隔一段时间CNT+1,所以只需要知道CNT的值,就可以知道传播的时间了,知道时间再根据声速340M/S,就可以知道距离了。首先进行GPIO的初始化,发送配置成推挽输出,然后接收就使用中断配置;由于Echo的传播时间中都会是高电平,所以我们只需要得到持续时间即可;,再来个定时器记录这段时间,于是就可以推算出距离了。由于要10us的高电平,为了避免误差,建议大一点。,而我们需要记录这一段时间,所以就得。在上升沿的时候触发中断,开始计时;
2025-07-21 18:16:16
727
原创 STM32三大通信协议(UART、IIC、SPI)全解析:原理速通+初始化代码实战【江科大经验分享】
【代码】STM32三大通信协议(UART、IIC、SPI)全解析:原理速通+初始化代码实战【江科大经验分享】
2025-06-19 10:37:34
620
原创 江科大STM32,定时器IC输入捕获模式测频率,PWMI模式测频率占空比,初始化IC输入捕获测频率代码,学习笔记(经验分享)
【代码】江科大STM32,定时器IC输入捕获模式测频率,PWMI模式测频率占空比,初始化IC输入捕获测频率代码,学习笔记(经验分享)
2025-06-14 17:52:10
537
原创 江科大STM32,TIM输出比较,PWM学习笔记(经验分享)
PWM的本质就是控制占空比的大小,占空比越大,驱动能力就越强;只要我闪的够快,就没人发现我灯灭了;
2025-06-13 03:35:12
459
原创 STM32,HAL库,韦东山FreeRtos,同步与互斥(持续更新)
能实现同步、互斥的内核方法有:任务通知(task notification)、队列(queue)、事件组(event group)、信号量(semaphoe)、互斥量(mutex);
2025-06-07 00:00:01
321
原创 STM32的一些编程小知识点(经验总结)(持续更新)
即使上面的任务修改了calc_end值为1,但是下面的任务会一直执行,原因是:第一次读变量的时候,会去读内存,把变量的值读进CPU寄存器,但是寄存器得到的是原始的值,编译器会每次读寄存器里面的值,而不读内存里面的值更新寄存器。告诉编译器:这个变量可能随时被“外部”修改,以上代码运行后会发现,会发现这段代码。
2025-06-04 16:50:15
184
原创 STM32,韦东山FreeRTOS项目实践,任务管理,经验总结
STM32,HAL库,韦东山FreeRtos的学习记录(理论部分)目录一、任务管理的概念1,基本意思2,涉及的概念● 任务状态(State)● 优先级(Priority)● 栈(Stack)● 事件驱动● 协助式调度(Co-operative Scheduling)二,创建 / 删除任务1,创建任务函数示例2,创建任务● 动态分配内存● 静态分配内存● 备注3,创建任务,声光色影4,估算栈的大小● 栈里面有什么5,使用任务参数(同一个函数两个任务)6,删除任务(遥控控制音乐)● void vTaskDele
2025-06-03 22:39:03
1498
原创 STM32,HAL库,韦东山FreeRtos的学习记录(理论部分)
堆:一块内存空间,可以从中分配出小buffer,用完啊后再把它放回去。注意:prv为static私有函数。注:其中 4 和 5 用的多。
2025-05-29 01:38:43
372
原创 STM32江科大OLED移植,显示汉字、浮点数(小数)、显示图像,显示原理(持续更新中)
0.96寸的驱动芯片为:SSD1306/ SSD1315;屏幕分辨率为:128*64像素。
2025-05-13 22:02:15
1970
11
原创 STM32CubeMX 修改工程名字,工程重命名,工程移植
首先,STM32CubeMX 一般不支持更改名字来着,然后呢,我根据其他up的,也总结一下自己的经验,更改工程的名字。3、用记事本打开LED.ioc文件。5、打开Keil5工程文件,改名。1、复制原来的想改名的工程。2、按F2修改文件夹名字。4、修改.ioc的前缀。
2025-04-24 15:55:00
1018
Keil5刚进去页面字体大小设置,设置代码的缩进,设置UTF8和GB2312中文乱码问题(经验分享)
2025-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅