- 博客(16)
- 收藏
- 关注
原创 03_TIM1用于生成互补带死区控制和刹车控制的PWM
本文介绍了STM32定时器TIM1的PWM配置方法,重点说明了中央对齐模式下的对称PWM波形生成。通过设置ARR为7999实现10kHz频率,配置死区时间防止上下桥直通,并详细解释了刹车功能(BKIN)的实现机制:低电平触发时强制关闭PWM输出,恢复后自动重启。测试代码展示了PWM启动、占空比设置和刹车检测功能,最终输出了占空比50%的互补PWM波形,验证了配置的正确性。该方案特别适用于电机控制等需要高可靠性PWM输出的场合。
2026-04-15 07:44:42
265
原创 02_UART1用于调试Debug
本文介绍了串口调试的配置与实现过程。首先配置UART1串口并启用DMA传输,用于高效处理大数据量的调试信息收发。通过定义128字节的发送缓冲区,并创建debug.h头文件封装调试功能,实现了基于DMA的格式化输出。测试阶段验证了UART1发送完成中断和DMA1传输完成中断的正常工作。该方法显著提升了串口调试效率,同时支持在不需要时关闭相关中断以节省资源。整个实现包含硬件配置、缓冲区管理、中断处理等关键环节,为嵌入式系统调试提供了可靠方案。
2026-04-13 07:07:57
72
原创 01_TIM6定时器用于周期任务(100us)
本文介绍了STM32中TIM6定时器的配置与使用。首先通过图形化工具配置TIM6并开启中断功能,生成初始化代码。然后手动调用HAL_TIM_Base_Start_IT()启动定时器中断。接着重写了弱定义的HAL_TIM_PeriodElapsedCallback回调函数,在中断中实现GPIO引脚电平翻转功能。最后编译测试,验证了定时器中断的正确配置和运行。整个过程展示了从配置到代码实现再到功能验证的完整开发流程。
2026-04-12 16:53:26
51
原创 00_LED驱动(开发板验证)
本文介绍了使用STM32CubeMX进行工程开发的基本流程:首先新建工程并保存,然后配置外部高速时钟和GPIO引脚,完成项目设置后生成代码框架。接着编写简单的测试代码,通过HAL库实现LED闪烁功能(500ms间隔切换GPIOC的13号引脚状态)。最后完成编译、下载和实际硬件测试。整个过程展示了从工程创建到功能实现的完整开发步骤。
2026-04-12 16:30:19
63
原创 TC23x系列MCU启动流程
TC22x/TC23x BootROM 由启动软件(SSW)、引导加载程序和测试固件三部分组成。SSW是复位后首个执行的软件,根据复位类型(上电/系统复位/应用复位)采用不同初始化流程。启动模式通过引导模式索引(BMI)或硬件配置选择,支持内部启动、引导加载程序模式(ASC/CAN)和替代启动模式。SSW会评估最多4个引导模式头(BMHD),检查有效性后确定启动配置。启动期间可能覆盖CPU0 DSPR前8KB区域,待机模式下需特殊处理保留区域数据。时钟系统状态取决于复位类型,上电/系统复位时处于初始状态,应
2026-03-18 14:44:05
465
原创 TLF35584芯片学习
TRDEL:用于配置系统从正常运行状态切换到低功耗状态(如STANDBY、SLEEP)前的延迟时间,单位为100微秒(μs)的整数倍。配置为 0。WKTIMCYC:用于定义唤醒定时器的周期时长,即定时器从启动到触发唤醒事件所经历的时间间隔。配置为 0。WKTIMEN:用于配置是否启用唤醒定时器功能,决定定时器是否开始计时并在达到设定周期时触发系统唤醒事件。配置为 0。
2026-02-03 18:12:46
600
原创 C语言小算法——队列
上面函数实现了出队的功能,首先判断队列是否为空,如果为空,无法出队,直接返回,如果front和rear相等,则认为只剩最后一个元素,执行完出队后初始化队列。上面函数检查队列是否已满,我的理解是MAX_SIZE是10,如果rear小于10,那取余之后就是0,如果大于10,那么和10取余后非0,但是和front有什么关系,有点没搞懂,希望朋友们能帮忙解答一下。上面的函数实现了入队操作,首先判断队列状态,如果队列满的话不进行入队,如果为空的话我们进行初始化队列,如果队列正常,我们就将rear的值重新赋值。
2023-11-01 14:57:23
154
原创 S32K1xx使用i2c驱动oled
直奔主题,基于S32K118,根据SDK配置i2c驱动,从新建工程开始,指导大家实现驱动oled屏幕的功能,后续将驱动导入到原有工程中即可。
2023-08-21 11:22:42
1071
3
原创 ubuntu18.04运行ROS,安装zsh工具
sudo apt-get install zshzsh --versionchsh -s /bin/zshsudo gedit /etc/passwd(第一行修改bash为zsh,最后一行也修改为zsh)sudo apt-get install gitsh -c “$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/mas...
2020-03-09 20:37:44
401
原创 ubuntu安装ssh服务
如果想要通过命令行来控制树莓派或者虚拟机的话,需要用到ssh服务首先在服务器上安装sshsudo apt-get updatesudo apt-get install openssh-serversudo ps -e | grep sshservice ssh start开机自动启动ssh命令sudo systemctl enable ssh关闭ssh开机自动启动命令sudo s...
2020-03-09 20:30:39
395
原创 ubuntu 18.04 安装ROS
设置软件源sudo sh -c ‘. /etc/lsb-release && echo “deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main” > /etc/apt/sources.list.d/ros-latest.list’设置秘钥(不用担心,ROS是开源的,密钥直接下载就好了,不用买)...
2020-03-09 20:28:05
168
基于S32K144移植的FreeRTOS工程,可直接编译运行调试,板子基于品智科技的S32K144开发板,兼容S32K144官方
2023-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅