- 博客(21)
- 收藏
- 关注
原创 嘉立创EDA成图:原理图绘制以及PCB封装导出为.efoo文件
在嘉立创EDA中绘制原理图时,点击新增后会出现弹窗,输入器件名称即可。若无法输入,重启软件即可解决。注意单位应为0.1inch=100mil。绘制引脚时,带圆圈的应放在外侧,可调整引脚长度为0.15inch。文字位置可通过上下左右键移动。在PCB封装绘制中,首先建立坐标轴确定焊盘位置,绘制完成后修改编号,最后通过.efoo格式导出封装。
2025-05-20 16:55:33
412
原创 嘉立创EDA成图:文件管理
在工程文件夹中,首先新建一个以选手编号后8位命名的项目工程文件(如手机号.eprj)。接着,新建图纸文件moban.elibz并保存,确认文件存在即成功。在项目工程内,创建元件库Lib.elibz,并导入素材库中的Sch.epro文件。随后,新建PCB设计文件PCB.epro。最后,在工程文件夹中新建子文件夹Gerber,用于存放生成的文件。这些步骤确保了项目文件的正确创建和组织。
2025-05-17 19:40:07
305
原创 STM32CubeMX使用SG90舵机角度0-180°
本文介绍了如何通过STM32控制舵机的步骤。硬件连接方面,舵机的信号线需连接到STM32的PWM输出引脚(如PA2),电源和地则连接到外接5V电源,并确保共地。在STM32CubeMX中配置定时器(如TIM2)的PWM模式,设置预分频器(PSC)和自动重载值(ARR)以生成50Hz的PWM信号。代码实现部分包括定时器初始化和设置舵机角度的函数,其中角度通过PWM信号的脉宽来控制,脉宽范围0.5ms到2.5ms对应舵机角度0°到180°。最后,主函数中通过循环调用舵机角度设置函数,实现舵机在不同角度间的切换。
2025-05-16 20:23:15
732
原创 FreeRTOS静态任务的中断管理、时间片调度(尚硅谷学习笔记)
中断管理:使用两个定时器(优先级4和6)每1秒打印字符串,通过按键控制中断开关,观察定时器打印情况。时间片调度:滴答定时器的中断频率设置为50ms中断一次(一个时间片)打印五次任务
2025-05-15 23:08:12
936
原创 基于STM32F103C8T6(HAL库)和CubeMX通过UART实现蓝牙模块和手机通信
基于STM32F103C8T6(HAL库)和CubeMX通过UART实现蓝牙模块和手机通信,手机APP使用蓝牙调试器,让我们对下一个遥控小车或者其他设备做准备
2025-05-15 20:36:04
1950
原创 STMCubeMX使用TB6612驱动编码轮并进行测速
TB6612电机驱动模块通过IN1和IN2引脚控制电机的旋转方向,并通过PWM信号的占空比调节电机速度。代码示例展示了如何使用GPIO控制电机的正反转,以及如何动态调整PWM占空比实现速度控制。系统设计中,TB6612与编码减速电机连接,STM32CubeMX用于初始化GPIO和PWM输出。编码器接口配置使用TIM3进行测速,TIM4定时器用于速度计算。Keil软件中编写的代码包括编码轮计数值获取、速度计算、电机正反转控制以及小车运动控制等功能。通过OLED显示速度,并实现电机的调试与测试。
2025-05-14 16:54:30
1286
原创 FreeRTOS挂起和恢复任务调度器与stm\stm.axf: Error: L6406E: No space in execution regions with 芯片内存不足解决
本文介绍了在FreeRTOS中挂起和恢复任务调度器的相关函数及其使用方法。通过vTaskSuspend和vTaskResume函数,可以挂起和恢复指定任务,而vTaskSuspendAll和xTaskResumeAll则用于挂起和恢复整个任务调度器。在STM32F103C8T6芯片上因内存不足导致的问题:stm\stm.axf: Error: L6406E: No space in execution regions with ,并提供了查看和计算ROM、RAM内存的方法,以及解决内存不足的建议。
2025-05-12 18:37:27
1097
原创 FreeRTOS静态任务的创建、删除和软件定时器的开启(尚硅谷学习笔记)
在FreeRTOSConfig.h中添加开启静态分配和软件定时器相关的定义。按照之前的动态任务进行相应的文件处理(此处就不在介绍)freertos_demo.c文件。相应需要配置的两个函数配置。
2025-05-11 10:19:35
157
原创 FreeRTOS动态任务的创建与删除(尚硅谷学习笔记)
FreeRTOSConfig.h 文件是 FreeRTOS 的工程配置文件,因为 FreeRTOS 是可以裁剪的 实时操作内核,应用于不同的处理器平台,用户可以通过修改这个 FreeRTOS 内核的配置 头文件来裁剪 FreeRTOS 的功能,我们把它拷贝一份放在FreeRTOS这个文件夹下面(路径随意,只要能添加其路径就好)。在stm32f1xx_it.c中注释两个函数void SVC_Handler(void)和void PendSV_Handler(void)freertos_demo.h文件。
2025-05-11 00:15:00
507
原创 VScode编程如何快速使用注释,当前行、多行、添加函数头文件注释和头部文件注释
本文介绍了如何通过快捷键和插件实现代码中的当前行注释、多行注释、函数前注释和头部注释。使用Ctrl+/可以快速注释当前行,Alt+Shift+A用于多行注释,而Ctrl+Windows+i用于函数前注释,ctrl+Windows+/用于头部注释。通过下载koroFileHeader插件,编辑setting.json文件,可以自定义注释内容,如函数注释的description、param、return等字段,以及头部注释的Author、Date等信息。
2025-05-10 10:23:35
853
原创 使用VScode编程keil5方法(快速对齐代码快捷键+stlink烧录stm32)
本文简要介绍了如何配置和使用EIDE插件进行Keil5项目的编译与下载以及使用快捷键Shift+Alt+F快速自动对齐代码。首先,需下载必要的插件并设置EIDE插件的路径与Keil5安装路径一致。接着,通过右键Keil5图标查看并确认路径后,导入MDK-ARM项目,选择“Yes”或“No”均可。在编译和下载过程中,若遇到使用ST-Link下载的问题,可切换设置以重新实现下载。
2025-05-10 09:47:49
356
原创 基于STM32F103C8T6和CubeMX(HAL库)移植江科大软件IIC
这里注意0xa0和0xa1,这个是根据自己传感器的地址线而填的,我的是stm32自带的AT2402。发送端: [BIT7] [BIT6] ... [BIT0] [ACK]:所有设备都需配置为开漏模式,依赖外部上拉电阻(通常4.7kΩ):仅需SCL(时钟线)和SDA(数据线)两根线。:每个字节传输后接收方必须发送ACK(低电平):SDA在SCL高电平期间需保持稳定。:SCL高电平时SDA由高→低。:SCL高电平时SDA由低→高。:支持多个主设备和从设备。:SDA低电平(0):SDA高电平(1)
2025-05-08 21:19:12
342
原创 基于STM32F103C8T6(HAL库)和CubeMX实现UART配合TIM实现不定长数据接收并处理正确和错误的信息
为什么要使用TIM搭配UART?问题:接收超时检测(帧间隔超时)UART接收不定长数据时,无法预知数据帧的结束位置(例如Modbus RTU协议通过 3.5字符时间 的静默判定帧结束)。若仅依赖接收中断,可能因数据间隔不明确导致帧解析错误。解决方法:启用定时器TIM:在每次收到一个字符时重启定时器。定时器超时中断:若在设定时间内未收到新数据,则认为一帧数据接收完成,触发处理逻辑。这样就可以对接收的数据是否正确以及进行正确和错误信息的处理
2025-04-26 15:06:01
1391
原创 基于STM32F103C8T6(HAL库)和CubeMX实现串口数据的printf重定向发送和接收
stm32f103c8t6CubeMX生成UART串口函数,将发送重定向printf,接收到指定标志位返回发送成功并打印数据
2025-04-26 01:34:34
367
原创 基于STM32F103C8T6(HAL库)和CubeMX实现四轮小车直流电机使用TB6612驱动
CubeMX生成stm32f103c8t6的hal库驱动小车的四个直流电机,实现小车四个轮子的控制
2025-04-25 21:27:55
1246
原创 基于STM32F103C8T6(HAL库)和CubeMX实现PWM控制LED呼吸灯效果
stm32f103c8t6使用cubemx生成hal库实现PWM控制LED呼吸灯效果
2025-04-24 17:00:14
436
原创 基于STM32F103C8T6(HAL库)和CubeMX实现移植江科大0.96寸四脚OLED显示屏(附带免费文件下载)
0.96寸OLED显示屏使用hal移植江科大代码
2025-04-24 11:58:05
491
原创 基于STM32F103C8T6(HAL库)和CubeMX使用定时器TIM中断扫描按键,实现按键的长按、短按以及双击
在按键的使用过程中,有许多的按键扩展方式,比如区别按键的长按短按以及双击,这里将实现这些功能
2025-04-23 17:48:22
1186
原创 基于STM32F103C8T6(HAL库)和CubeMX使用定时器TIM中断扫描按键,避免delay造成的程序堵塞,实现按键控制LED灯
stm32cubemx使用定时器TIM中断扫描按键,避免delay造成的程序堵塞,实现按键的一个控制
2025-04-23 13:13:10
1062
原创 基于STM32F103C8T6(HAL库)和CubeMX实现使用小白新建工程,进行函数封装,烧录程序以及点亮LED灯
打开软件点击New Project,有时候会更新一些固件包等待更新完成即可进行搜索stm32f103c8t6,下面有两个芯片选择,两者的芯片核心规格(如内核、Flash容量、引脚数、封装类型、温度范围等),差异仅体现在包装方式上。在这个芯片的左边有个星星是芯片(2.)即可进入配置界面。
2025-04-21 18:36:52
851
原创 基于STM32F103C8T6(HAL库)和CubeMX入门的一些GPIO配置详解:IO口、电平、寄存器与上下拉电阻
GPIO(General Purpose Input/Output)即通用输入输出引脚,是芯片与外部设备交互的接口。输入模式:用于读取外部信号(如按键状态、传感器数据)。输出模式:用于控制外部设备(如点亮LED、驱动继电器)。
2025-04-21 14:05:48
499
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人