/
...
/
/
Project Experience
Search
Try Notion
Project Experience
2021校赛PWM
现象: PWM_TIM1 PA8有输出 PA7无输出
问题:
PWM AFIO需要重映射
2021.7.14帮彬辉调试PWM
现象: PWM互补均无输出
问题
供电不足,仅使用仿真器调试
代码中RCC时钟调用出错,调用成热RCC_Reset
2021.7.18彬辉LM298N/大二上小车电机
现象: PWM电机占空比50无法调速
问题
仅使用单片机供电电机,供电不足
电压仅为5V,似乎有个最低转速,低于此.即使有占空比也会停转
2021.8.3 高速并行DMA不搬运
现象:
配置DMA(事件触发)从GPIO搬运到Memory,中断不进入,调试现象也不搬运
后面改成定时器中断,在定时器中断中将GPIO数据手动读入(不用DMA),无法进中断
问题
中断向量表只是声明了中断的名称和位置(启动文件)
中断要想确保可以触发,需要在stm32f10x_it.h中声明保证可以被外部引用(或者在其他地方声明?)
在DMA配置中断后,如果无法中断,则DMA搬运也不生效
其他感想
stm32f10x_it.c和main.c平级,都能被主动的Hardware调用
DMA速率限制
🗄️DMA速率及其内部解析 (ST官方文档)
cd00160362-using-the-stm32f0f1f3gxlx-series-dma-controller-stmicroelectronics.pdf
308.3KB
基本上理论极限 外设→Mem= 2AHB(DMA)+2APB(外设所在时钟)+2AHB(DMA)
内置ADC极限速率
🖼️内置ADC速率计算
2021.12.17 利用Systick Delay在中断中使用
HAL_Delay()函数的注意事项
特别注意,在中断中使用 HAL_Delay() 很容易造成程序异常,原因是 HAL_Delay() 使用 滴答定时器的中断,如果在高于滴答定时器中断的中断函数中使用这个函数,程序将会锁死在 HAL_delay() 中,原因是,滴答定时器无法别调用, HAL_delay() 就无法跳出函数内部的 while 循环。
2021.12.19 函数原型和函数定义要一致
若定义void DigTube_LoadNum(unsigned int num)
.h文件里面未void DigTube_LoadNum(unsigned char num) ;
不一致时候编译器不会报错,但是在传参的时候会出问题