- 博客(19)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 STM32F407 的SPI1在STM32CubeMX中配置为42MBits/s接收数据错误
STM32F407 的SPI1在STM32CubeMX中配置为42MBits/s接收数据错误
2022-07-09 11:11:04
1546
1
原创 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
994
原创 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
3973
原创 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
3048
5
原创 FlyMCU烧录STM32F407的hex文件提示“写入出错在0kb”
FlyMCU烧录STM32F407的hex文件提示“写入出错在0kb”
2022-05-13 10:30:11
6917
1
原创 AD17 保存PCB文件时提示失败
AD17在画完PCB文件保存时提示失败,另存文件后正常。但重新打开时提示参数有问题,再保存时还是提示失败。遇到这种问题,可将win10系统中的“数据执行保护”(DEP)添加DXP免除。具体在 我的电脑-属性-高级设置-性能设置-数据执行保护-选择“为除下列选定程序之外的所有程序和服务启动DEP”,添加DXP.exe。搞定。...
2022-03-18 12:32:06
7474
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
3790
原创 假如你的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
4192
1
原创 STM32F4 HAL驱动描述手册获取方法
STM32F4 HAL驱动描述手册(UM1725)目前只有英文版,可以在https://www.stmcu.com.cn/Index/search?search_keywords=HAL,通过搜索关键字找到。PS:不要嫌英文版繁琐。 搜一圈发现,还是官方手册写的详细!
2021-06-25 09:10:37
836
原创 stm32 HardFault_Handler问题
debug程序时,跑着跑着就不知道上哪去了,点击停止后发现当前程序在HardFault_Handler里进行while(1)空跑。仔细检查发现在程序里对数组进行for循环处理时地址超出了范围,所以在for循环刚开始一切OK,等地址溢出就调到HardFault_Handler。刚开始还以为硬件哪出了问题。...
2021-06-24 09:39:51
136
原创 如果Keil不能跳转到函数的定义
如果在Keil中不能使用右键菜单"Go to definition of XX"跳转到函数的定义,切debug时改行前不为灰色,不能打断点,考虑以下几个可能:1,没包含相应的头文件;2,函数未在头文件中声明;3,返回类型及形参均为void的函数,调用时不能有void,可只写函数名加空括号即可;...
2021-06-24 09:34:07
3351
STM32 IAP试验过程
2022-01-19
STM32的独立看门狗( IWDG)使用不正常
2022-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人