电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区
论坛
开发板专区
【STM32F412-DISCO 开发板试用体验】使用CubeMX生成HAL库串口通...
【STM32F412-DISCO 开发板试用体验】使用CubeMX生成HAL库串口通...
C语言
开发
电路图
程序
经典的
donatello
LV6工程师
| 2017-05-18 14:07:38
浏览量 1138
回复:1
发表新帖
【STM32F412-DISCO 开发板试用体验】使用CubeMX生成HAL库串口通信程序
万物皆从点灯和串口开始,我更偏向于从串口外设开始试用评估一块开发板,因为
串口可以显示几乎所有信息。
从开发板的电路图我们可以看出,虚拟串口挂载在F412MCU的PA2和PA3(即串口2)
处,因此这里我们可以直接用CubeMX来生成串口通信的程序。首先使能串口2为异步串口
,并使能PA2和PA3引脚。
然后调节系统时钟为满载100MHz。注意,由于开发板自带的MSI(内部高频晶振)无法提
供100MHz如此高频率的时钟,因此这里需要使用PLLCLK来倍频到100MHz,我们直接输入
100MHz之后CubeMX就会自动帮我们选择时钟源和倍频源了。
最后修改串口2的参数,常用的是数据位8、停止位1、无校验位。
生成工程之后串口2已经默认使能,可以直接使用了,但是在收发函数的地方还要改一下
。
这里我们采用C语言经典的printf()函数来充当串口输出函数,因此需要重定义
fputc()函数,为什么是fputc函数呢?因为fputc函数是printf函数的内联函数。在
fputc函数里面添加“串口输出一个字符”的函数之后,并在工程配置窗口勾选Use
MicroLIB复选框,printf函数就能正常使用了。
上传修改好的工程文件。
【STM32F412-DISCO 开发板试用体验】使用CubeMX生成HAL库串口通信程序
万物皆从点灯和串口开始,我更偏向于从串口外设开始试用评估一块开发板,因为
串口可以显示几乎所有信息。
从开发板的电路图我们可以看出,虚拟串口挂载在F412MCU的PA2和PA3(即串口2)
处,因此这里我们可以直接用CubeMX来生成串口通信的程序。首先使能串口2为异步串口
,并使能PA2和PA3引脚。
然后调节系统时钟为满载100MHz。注意,由于开发板自带的MSI(内部高频晶振)无法提
供100MHz如此高频率的时钟,因此这里需要使用PLLCLK来倍频到100MHz,我们直接输入
100MHz之后CubeMX就会自动帮我们选择时钟源和倍频源了。
最后修改串口2的参数,常用的是数据位8、停止位1、无校验位。
生成工程之后串口2已经默认使能,可以直接使用了,但是在收发函数的地方还要改一下
。
这里我们采用C语言经典的printf()函数来充当串口输出函数,因此需要重定义
fputc()函数,为什么是fputc函数呢?因为fputc函数是printf函数的内联函数。在
fputc函数里面添加“串口输出一个字符”的函数之后,并在工程配置窗口勾选Use
MicroLIB复选框,printf函数就能正常使用了。
上传修改好的工程文件。
0
收藏
举报
分享
×
微信分享
扫描二维码分享
qq分享
QQ空间分享
微博分享
我来回复
登录后可评论,请
登录
或
注册
所有回答
数量:
1
qq1328512480
2017-05-19
按照套路,结尾不应该说:;老规矩上传一份头文件:call:
0
回复
举报
发布
×
举报
举报人:
被举报人:donatello
*
类型:
请选择类型
问题质量差
垃圾广告信息
偏离社区主题
违规内容
不友善内容
与社区已有问题重复
以上选项都不是
*
详细原因:
取消
提交
x
收藏成功!点击
我的收藏
查看收藏的全部帖子