
STM32
首飞爱玩机器人
我是首飞,一个会使用AI工具提效的男人。
展开
-
STM32双缓冲机制初始化(使用STM32CubeMX)
1.使用STM32CubeMX配置的串口引脚设置和dma的设置会生成在usart.c。 1)如果DMA接收想采用循环缓冲区的方式,可以直接将RX-DMA设置成Circle方式,然后数据就会硬件上自动实现环形缓冲区的功能,省了不少时间。 2)DMA在采用Normal模式的时候,当一次任务完成后,DMA->DMA_BufferSize自动清零,并且DMA自动停止。如果想再次设置DMA...原创 2018-08-08 11:46:01 · 8915 阅读 · 1 评论 -
STM32F407各定时器的时钟频率
STM32F407各定时器的时钟频率TIM1、TIM8~TIM11的时钟为APB2时钟的两倍即168M,TIM2~TIM7、TIM12~TIM14的时钟为APB1的时钟的两倍即84M。原创 2018-08-13 19:45:08 · 19695 阅读 · 2 评论 -
基于STM32F407 HAL库的Flash编程操作
flash的初始化,解锁flash和清除一些flash的异常状态标识uint16_t MEM_If_Init_FS(void){ HAL_FLASH_Unlock(); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | ...原创 2018-08-23 12:31:14 · 15294 阅读 · 5 评论 -
IAR中设置了中断向量偏移时进行仿真的注意事项
1.在IAR中设置中断向量偏移2.在APP程序运行的最开始设置好中断向量,否则程序不能正常运行 SCB->VTOR = FLASH_BASE | 0x10000;//设置中断向量,必须要在中断开始前设置...原创 2018-09-10 17:05:36 · 1546 阅读 · 0 评论 -
调试ST电机库5.20遇到的问题
1.使用带霍尔的无刷电机运行ST MotorControl Workbench 5.2.0生成的例程。霍尔状态经常出现0或者7,是因为霍尔信号干扰太大了吗?正常的霍尔状态为1-6,一出现0或7电机就不能转了。Iq的目标值变成6067(为标称最大电流值,这个值是用标称电流3.8A转换的)。Iq的目标值是由于速度PI控制器输出的。当霍尔状态为0或7,程序将pHandle->SensorIsRel...原创 2018-12-20 11:05:14 · 10619 阅读 · 4 评论 -
解决了电脑连接wifi无法ping通W5500的问题
目前我们使用w5500遇到一个问题。w5500设置的是静态IP,用网线连到路由器上,电脑也用网线连到路由器上,电脑是可以ping通W5500的。如果电脑用wifi连到路由器上就ping不通w5500.我们目前已经做了两版的样板。我们做的第一版的样板是偶尔用电脑wifi连接路由ping用网线连接的w5500不通,但断电重启又可以。但第二版就一直ping不通。但两个板子均使用电脑网线连接路由器来pin...原创 2019-03-11 14:20:33 · 5068 阅读 · 0 评论 -
使用gcc编译STM32遇到的问题
1.针对IAR编译器和arm-none-eabi-gcc编译器,他们处理结构体内存对齐的方法是不同的。对于IAR,取消结构体内存对齐优化是用__packedtypedef __packed struct{ int16_t x_to_center_mm; int16_t y_to_center_mm; int16_t z_to_center_mm; ...原创 2019-03-12 10:38:51 · 1587 阅读 · 1 评论 -
在STM32中将变量或代码设定在指定内存地址的方法
各个编译器有自己不同的语法对于arm_none_eabi_gcc:// Sampling variables#define ADC_SAMPLE_MAX_LEN 2000__attribute__((section(".ram4"))) static volatile int16_t m_curr0_samples[ADC_SAMPLE_MAX_LEN];__attribute_...原创 2019-05-09 16:34:23 · 15675 阅读 · 0 评论