STM32
zilong032
这个作者很懒,什么都没留下…
展开
-
STM32 SPI DMA和阻塞方式混合发送数据
STM32 SPI DMA和阻塞方式混合发送数据的一些问题原创 2022-08-04 16:23:13 · 3642 阅读 · 1 评论 -
keil5 debug时崩溃闪退解决
keil5 debug时崩溃闪退解决原创 2022-06-11 09:55:24 · 8120 阅读 · 0 评论 -
STM32F407 串口IAP注意事项
1,通过USART1 串口IAP,跳转程序一定不能放在中断中执行。可在主循环中轮询中断中改变的一个全局变量,满足条件后执行跳转;否则跳转用户APP后会出现部分执行,或者不执行现象;2,重定向fput后,利用printf函数输出提示字符串时,会出现遗漏,乱码现象。可用DMA批量发送。这种方式不能使用printf函数的格式设定字符;3,bootloader程序中,跳转前需初始化所有外设,关闭中断调度,推荐逐个关闭使用的中断 if (((*(__IO uint32_t*)APPLICATION_AD原创 2022-05-26 17:28:49 · 927 阅读 · 0 评论 -
STM32F4 HAL库 串口DMA连续发送只发一次
1,使用DMA通过串口发送字符串,通过改写printf实现DMA传输调试中间信息,可避免字符丢失造成显示乱码,尤其在FreeRTOS下容易被其他进程中断造成丢失;2,如果在程序中连续调用printf,则发现只把第一次发送的字符串传了出来,后面的都没发出;3,查看HAL_UART_Transmit_DMA函数可知,在函数开头即检查DMA状态,如果忙则不进行发送即返回;HAL_StatusTypeDef HAL_UART_Transmit_DMA(UART_HandleTypeDef *huart原创 2022-05-18 13:27:10 · 3709 阅读 · 0 评论 -
STM32F407 FreeRTOS下串口printf输出乱码--DMA传输解决
1,系统使用FreeRTOS,并重定向fput,使用printf串口输出字符串时,会出现乱码情况,且乱码随机,即同样的内容,发送过来的乱码位置不同;2,考虑多任务下的导致printf调用被其他任务中断,导致传输丢失;3,有人通过新建单独的高优先级任务完成发送。考虑此方法可能会影响其他任务的调度,未采用;4,之前重定向fgetc后从串口读取字符串也有问题,就改为了使用DMA获取,受此启发,将printf改为DMA方式完成底层传输;5,以下就是DMA方式发送字符串的printf_DMA函数;原创 2022-05-18 10:27:02 · 2717 阅读 · 5 评论 -
FlyMCU烧录STM32F407的hex文件提示“写入出错在0kb”
FlyMCU烧录STM32F407的hex文件提示“写入出错在0kb”原创 2022-05-13 10:30:11 · 5888 阅读 · 1 评论 -
当在keil中在线查看局部变量显示not in scope时。。。
在线调试keil程序时,如局部变量加入watch后总是提示not in scope时,可按下述步骤解决:1,在该局部变量处打断点(无端点时,程序运行过后局部变量内存将被释放,值丢失);2,将keil的优化级别调到最低 Level 0,避免被编译器优化掉;3,clear target后,rebuild,下载后在线查看,问题解决。有时没clear target,只修改优化级别后build并不能解决问题。...原创 2022-02-09 17:05:54 · 3613 阅读 · 0 评论 -
STM32 LWIP UDP获取对方IP及port
STM32 UDP获取对方IP及port原创 2022-01-20 10:34:24 · 4469 阅读 · 2 评论 -
假如你的SPI高速时接收数据异常
最近使用STM32F407 SPI采集ADS1274,之前采样率600Hz左右正常采集。项目需要数据采样率达到10kHz,经计算在ADS1274相应模式下需要将输入频率提升至5.26MHz,SPI的频率也设为5.26MHz。频率升高后,计算出来的结果正负乱跳。排查发现:1,从HAL_SPI_Recieve函数读取12个字节的数据错乱,作为第一通道高位的第0字节变化频繁,而第1字节稳定不变。观察234通道同样;2,增大接收数据区,HAL_SPI_Recieve函数的接收字数增大,发现第一通道高位的原创 2021-10-21 15:55:51 · 3734 阅读 · 1 评论 -
STM32F4 HAL驱动描述手册获取方法
STM32F4 HAL驱动描述手册(UM1725)目前只有英文版,可以在https://www.stmcu.com.cn/Index/search?search_keywords=HAL,通过搜索关键字找到。PS:不要嫌英文版繁琐。 搜一圈发现,还是官方手册写的详细!原创 2021-06-25 09:10:37 · 728 阅读 · 0 评论 -
stm32 HardFault_Handler问题
debug程序时,跑着跑着就不知道上哪去了,点击停止后发现当前程序在HardFault_Handler里进行while(1)空跑。仔细检查发现在程序里对数组进行for循环处理时地址超出了范围,所以在for循环刚开始一切OK,等地址溢出就调到HardFault_Handler。刚开始还以为硬件哪出了问题。...原创 2021-06-24 09:39:51 · 104 阅读 · 0 评论 -
如果Keil不能跳转到函数的定义
如果在Keil中不能使用右键菜单"Go to definition of XX"跳转到函数的定义,切debug时改行前不为灰色,不能打断点,考虑以下几个可能:1,没包含相应的头文件;2,函数未在头文件中声明;3,返回类型及形参均为void的函数,调用时不能有void,可只写函数名加空括号即可;...原创 2021-06-24 09:34:07 · 3053 阅读 · 0 评论