
stm32f407
yrx020307
进阶
展开
-
串口发送函数接口定义
仿照printf封装串口发送函数原创 2025-03-24 15:41:46 · 108 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6的flash操作
略。原创 2025-01-23 18:08:41 · 82 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6的硬件spi通信
略。原创 2025-01-23 18:03:46 · 128 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6的硬件iic通信
略。原创 2025-01-23 18:02:38 · 126 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6定时器中断
略。原创 2025-01-23 17:58:37 · 92 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6can通信
略。原创 2025-01-23 17:59:43 · 114 阅读 · 0 评论 -
基于寄存器配置实现的STM32F407VET6串口通信
略。原创 2025-01-23 17:55:05 · 78 阅读 · 0 评论 -
STM32F407寄存器点灯
背景描述:最近用32开发遇到问题不得不看寄存器了,就回顾了一下寄存器手册的查看方式和寄存器的使用方法;上一次这么细致的记录还是在刚学习STM32的时候,之前觉得看寄存器手册以及配置寄存器是有点难度的事情,现在回头看已经是轻舟已过万重山了。**言归正传:经常查看的是《STM32F407中文手册》,这个手册很重要!实验目的:GPIOA_pin6配置为“推挽输出模式+25MHZ”实现LED闪烁效果;业务流程:这是寄存器映射图这是GPIOA的基地址。原创 2024-12-18 15:14:44 · 773 阅读 · 0 评论 -
stm32 IIC总线busy解决方法
3) 在HAL_I2C_Mem_Write()之前,先判断是否busy,如果busy就调用I2C_Busy_C();-------------->再调用HAL_I2C_Mem_Write();调用HAL_I2C_Mem_Write()之前,先判断是否busy,如果busy则重新初始化,初始化结束后,再HAL_I2C_Mem_Write();我根据参考的博客在 HAL_I2C_MspInit() 中添加了2行代码;3----在HAL_I2C_Mem_Write()时会busy,原创 2024-09-12 11:22:07 · 1456 阅读 · 0 评论 -
cubemx配置stm32f407vet6的can通信,can发送失败
想要实现发送,需要在MX_CAN1_Init添加。想要接收,需要在MX_CAN1_Init添加。MX_CAN1_Init函数不完全;一直提示can发送error;原创 2024-08-23 09:58:19 · 442 阅读 · 0 评论 -
stm32f407VET6驱动W25Q16
看数据手册分析W25Q16的驱动流程原创 2024-08-16 16:50:00 · 976 阅读 · 0 评论 -
f407_demo\f407_demo.axf: Error: L6218E: Undefined symbol assert_param (referred from softtimer.o).
解决方法:添加头文件。原创 2024-07-10 09:23:33 · 157 阅读 · 0 评论 -
外部晶振由12M变更为8M,怎么修改时钟配置
原创 2024-07-08 16:07:46 · 218 阅读 · 0 评论 -
stm32f407VET6 can通信踩坑
2)如图,原理图上在mcu和TJA105连接时,使用0欧姆电阻;硬件工程师给我一块板子,并且和我说,板子上的can通信相关的部分都正常(线序,虚焊这些都没问题);但是硬件工程师没焊接这2个0欧姆电阻,导致mcu的can口信号给不到TJA1075!1)使用已经出货的版本的固件,烧录在这块板子上。(如果can通信有问题,那就是硬件导致的);1)TJA105要5V供电,但实际上没供电,导致TJA105不工作(硬件工程师说 画错了);1)在老版本代码上添加了can.c相关,也许有问题;原创 2024-05-22 11:51:06 · 536 阅读 · 0 评论 -
cubemx配置stm32f407VET6实现can通信
参考博客:https://blog.youkuaiyun.com/weixin_43362027/article/details/132716496。移植canopen的前提是can通信正常,现在添加一下can通信(先用标准帧,250K bit/S的波特率测试)项目上需要把原先的TMC5160电机驱动器替换为购买的电机控制模块(该模块采用canopen通信)3)实现can接收;我实现的业务逻辑是在can接收回调函数中串口打印接收到的can包。can1的时钟在APB1上,APB1的时钟为84MHZ;1)如何计算波特率?原创 2024-05-15 16:28:08 · 1458 阅读 · 1 评论 -
cubemx配置stm32f407VET6实现USB虚拟串口
5)配置USB_DEVICE为communication Device Class(CDC)第一步:在文件 usbd_cdc_if.c中 的 函数添加一行代码用于获取字符串长度;最近做项目需要使用USB,一根数据线连接“mcu的板子”和“电脑”;在usb_device.c中实现业务逻辑“USB数据回显函数”1)仅使用MCU的USB发送数据(注意波特率可以是任意值)电脑上的串口助手通过USB线和mcu的USB通信;接下来的方法是之前一个同事写的,我直接搬运一下;2)测试mcu的USB接收功能。原创 2024-05-15 13:33:37 · 911 阅读 · 0 评论