STM32
今夕昨夕
愿以生命为根,技术为本,实现美好人生。
展开
-
关于STM32G0 FLASH 写入时出现PGSERR的一种处理办法
当然也有人提出其他方法,比如https://blog.csdn.net/crazy_kismet/article/details/102739562文章中就提供了另一种方法,他在出现错误后先擦除,再写入,实测中发现,先擦除后又出现了PGSERR,所以这里不使用先擦除的方式。代码如上,使用的IC是G030,但是却有时候会出现无法写入的情况,这里说一下发现的规律,用上面写函数写时,出现了了PGSERR等错误,可以通过查看寄存器看到,但是写完后发现该错误消失了,所以这里再次写入就可以了。原创 2023-12-02 10:47:43 · 1051 阅读 · 0 评论 -
STM32 G0 FLASH擦除或写入时SR遇到CFGBSY
首先要确认擦除或写FLASH时是否关闭了中断,如果未关闭中断,就有可能出现该问题,建议尝试关闭中断后再测试看是否还有问题。如下宏定义是用于进入和退出临界区的,在写FLASH时调用即可。下面是一个可行的示例代码。原创 2023-08-26 15:38:19 · 840 阅读 · 0 评论 -
Keil不复位仿真的方法
然后在keil中对工程进行如下配置即可。原创 2023-08-14 16:33:46 · 500 阅读 · 0 评论 -
一种STM32生成随机数的方法
这里提供一种思路,既然seed变化了,随机数就会随着变化,那么只要seed变化足够快,就意味着在相同时间内取到相同的值的概率就会越小,比如100ms取值,时间能精确到ms,但是seed的变化间隔时间小于us的时候,就很难取到相同的seed了,所以这里提出一种用systick->VAL的低字节8bit,取4次值组合后来作为seed的方法,基本可以做到比较随机的取值。原创 2023-08-12 17:30:31 · 1349 阅读 · 0 评论 -
STM32 custom HID 报告描述符的关键
报告描述符大小USBD_CUSTOM_HID_REPORT_DESC_SIZE,一定要与实际生成的报告描述符大小相对应(它是一个uint8_t的数组,自己实际数以下由多少字节即可),否则会导致HID设备配置失败。原创 2023-05-01 22:39:12 · 380 阅读 · 0 评论 -
STM32 cubeMx配置RTC使用内部唤醒功能
STM32G0 RTC内部唤醒功能的使用原创 2022-09-19 19:55:44 · 1256 阅读 · 0 评论 -
STM32使用LL库ADC+DMA配置过程中遇到的一些问题
STM32使用LL库ADC+DMA配置过程中遇到的一些问题使用LL库配置ADC+DMA,使用了AIN3,AIN5,两个ADC通道不连续,使用扫描模式,连续转换,使用DMA通道1,使用了CUBE_MX配置,这个不难。接下来是代码:ADC初始化void MX_ADC1_Init(void){ LL_ADC_REG_InitTypeDef ADC_REG_InitStruct = ...原创 2020-05-06 16:18:51 · 8651 阅读 · 0 评论 -
使用cubeMx 生成systick及周期调整
使用cubeMx 生成systick及周期调整下面要进入重点:如何配置systick,从cubeMX中生成的systick的周期时1ms一次的。在main函数中找到其初始化代码: /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER...原创 2019-12-12 09:00:32 · 5641 阅读 · 2 评论 -
关于STM32F103 TIM2重映射
关于STM32F103 TIM2重映射如何使用重映射和如何重映射为哪些管脚,这里不详细讲解,可以百度找到。下面讲的是tim2重映射为PA15、PB3、PB10、PB11.这里的设置网上也有讲解,但是如果功能较为复杂的程序,外设用的比较多的情况下,有可能PB10无pwm输出。重映射如下: //tim2重映射为PA15、PB3、PB10、PB11,还要禁用禁用JTAG功能 GPIO...原创 2019-08-23 16:07:22 · 4720 阅读 · 0 评论