原子哥的F407HAL库串口问题。

2019-07-20 02:35发布

之前一直在向原子哥要407的HAL库,很感谢原子哥能抽出时间写了407的HAL库,最近重新学习HAL的时候,编译里面的串口实验代码出现错误。是时钟配置的问题,..HALLIBSTM32F4xx_HAL_DriverSrcstm32f4xx_hal_rcc.c(702): error:  #20: identifier "AHBPrescTable" is undefined。下载了1.1版本也是这个问题,别的工程都能通过。然后把main函数复制到其它工程中,下载出现后用打印到串口出现乱码,波特率也是对的。然后发送字符过去没有反应,调试就是不进中断。网上找了HAL+DMA利用IDLE中断实现了不定长接收,想试一下原子哥的例程结果出现这个问题。感谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
taizonglai
1楼-- · 2019-07-20 05:48
例程中所有的HSE_VALUE等于8000000,HAL库中一共有两处定义了宏HSE_VALUE,两处都要修改!
耘耔
2楼-- · 2019-07-20 11:28
zuozhongkai 发表于 2017-11-20 19:29
例程中所有的HSE_VALUE等于8000000,HAL库中一共有两处定义了宏HSE_VALUE,两处都要修改!

感谢 不过例程4串口实验还是编译错误,我换到其它工程更改了您说的两个位置,测试通过了,感谢。对照着CubeMX配置的工程看了一下,一个在system_stm32f4xx.c中(CubeMX配置的是25000000),一个在stm32f4xx_hal_conf.h中(CubeMX配置的是8000000),改stm32f4xx_hal_conf.h里面的HSE_VALUE宏就可以解决乱码问题。
长昵称不被占用
3楼-- · 2019-07-20 14:10
 精彩回答 2  元偷偷看……
长昵称不被占用
4楼-- · 2019-07-20 18:23
zuozhongkai 发表于 2017-11-20 19:29
例程中所有的HSE_VALUE等于8000000,HAL库中一共有两处定义了宏HSE_VALUE,两处都要修改!

解决乱码只需要修改一处就可以,只是报错很尴尬
长昵称不被占用
5楼-- · 2019-07-20 18:38
 精彩回答 2  元偷偷看……
长昵称不被占用
6楼-- · 2019-07-20 19:15
 精彩回答 2  元偷偷看……

一周热门 更多>