STM32
文章平均质量分 55
杜杜dalek
杜杜dalek
展开
-
使用STM32CubeMX生成USB驱动程序 USB无法检测到的问题 生成USB驱动
一、使用STM32CubeMX生成USB驱动程序打开STM32CubeMX软件,选择Start My project formMCU,点ACCESS TO MCU SELECTOR。选择相应的芯片信号,点击Start Project配置RCC的High Speed Clock为图中所示,位置为外部时钟。选择SYS的Debug为Serial Wire,开启调试,否则下载程序后无法再次下载。具体解决方法参考链接:ST-LINK无法下载程序的解决方法在Connectiv原创 2021-04-29 15:16:54 · 13368 阅读 · 7 评论 -
STM32CubeMX生成HAL库文件,出现identifier “HAL_StatusTypeDef” is undefined错误
使用STM32CubeMX生成了一个工程文件,在使用串口库文件是,出现:“”identifier “HAL_StatusTypeDef” is undefined”错误。经过测试发现是在添加的usart.c文件中,直接调用了#include "stm32f1xx_hal_uart.h"头文件,便会出现上述错误,解决方法经过测试,在调用#include "stm32f1xx_hal_uart.h"头文件时首先调用#include "stm32f1xx_hal.h"头文件,该头文件根据自己工程修改,我的原创 2021-04-22 19:35:45 · 5573 阅读 · 1 评论 -
使用STM32CubeMX生成源码工程后,使用ST-LINK下载出现问题的解决方法
第一次使用STM32CubeMX生成源码工程文件,各种时钟引脚资源配置好后,点击生成了Keil的工程。编译通过,连接ST-LINK下载程序,第一次下载,一切正常,然后修改了一下程序,再次下载,出现找不到设备的提示。 以为板子出了问题,又拿过来一块板子,第一次下载,一切正常,再次下载,同样又出现找不到设备的提示,一共就两块板子,都被我玩废了。原来碰到过1次这种情况,就...原创 2021-04-22 09:37:00 · 2426 阅读 · 10 评论 -
[STM32F0xx]的AD转换驱动程序
STM32F0xx的AD转换程序。 该例程使用的是PB01引脚,AD功能为ADC_IN9,查数据手册,如下图所示。 首先初始化引脚: void adc_init( void ){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_ADC1, ENABLE ); GPIO_InitSt...原创 2021-04-07 09:55:48 · 840 阅读 · 0 评论 -
[STM32][TMC2660]关于TMC2660电机驱动芯片的初始化操作
TMC2660通过SPI进行芯片参数的控制,一共需要初始化5个参数,具体参数含义可在数据手册上查到,这里不再做过多解释。直接贴代码,根据自己的平台自行移植即可。#define REG_DRVCTRL 0X00000000#define REG_CHOPCONF 0X00080000#define REG_SMARTEN 0X000原创 2020-12-04 15:48:46 · 3179 阅读 · 0 评论 -
电机驱动芯片效果对比
一、测试环境分别在同一电机,同一导轨上测试不同电机驱动芯片的性能。电机为新购买的带丝杆的电机。驱动板分别为1:DRV8841驱动板;2:TMC2225驱动板;3:TMC2660驱动板。二、测试记录1、在相同环境下,测试各个电机的噪音,测试结果如下表所示: 运行噪音 最大噪音 室内噪音 50.6 50.6 TMC2660 ...原创 2020-11-24 14:13:11 · 4744 阅读 · 2 评论 -
STM32 关于定时器的问题
最近在做STM32定时器输出PWM波时,碰到一个问题记录一下。由于要输出 2Hz 的PWM波形,PWM引脚使用定时器 TIM1输出波形,TIM1定时器设定为0分频,查看函数传参为32位数据,查看定时器溢出寄存器ARR为32位寄存器,因此计算所得溢出值可以满足要求,ARR的值应该为83999999。 图1 32...原创 2020-06-24 14:30:43 · 980 阅读 · 0 评论 -
【STM32F4xx】USB开发的一些坑!
因为某些需求,需要在STM32上开发USB驱动,从网上找了个CDC的例子,又找了VC的上位机进行通信测试,把我两百多的下载积分都用光了,哎真是坑啊,有些下载了基本不能用,不是endpoint的通信。 第一个坑:USB开发时,其系统频率必须使用168MHz,具体我就不细说了,可以参考下面的帖子: https://blog.csdn.net/zhengnianli/article/details/102946950 USB的系统频率配置如下:...原创 2020-05-21 13:11:38 · 4505 阅读 · 5 评论 -
[STM32] 实时修改PWM波的输出频率
最近在做PWM的电机控制,需要通过修改PWM的频率来控制电机的速度。 使用如下的函数: void TIM_SetAutoreload(TIM_TypeDef* TIMx, uint32_t Autoreload); 该函数可修改定时器的ARR值,使得定时器的周期改变。 在使用时,总是会随机的出现PWM输出消失的情况,通过排查,运来在调用TIM_Set...原创 2020-04-11 17:52:57 · 13132 阅读 · 0 评论