4183|6

55

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【F7-2015】01.虚拟串口的使用 [复制链接]

一、实验目的
学习使用STM32F7的虚拟串口,进行usart学习以及方便后期调试。
二、开发工具
STM32CUBEMX
KEIL V5
三、开发步骤
  • STM32F7的时钟初始化(本小组按照nemo1991方式进行系统初始化)

STM32的时钟系统相对复杂,可以使用多种时钟源,同时可以选择锁相环、倍频分频系数等,同时不同的外设总线可以设置相应的时钟频率。
本次实验中,我们使用内部时钟作为时钟源。
首先,打开STM32CUBEMX(下文简称CUBE),选择新建工程。之后选择MCU的型号,DIS板子上的芯片型号是STM32F746NGH,点击OK。此时即可完成工程的基本创建。
之后选择clock configuration进行时钟配置。几个要点:使用HSIRC内部16M时钟作为时钟源;使用PLL,设置分频倍频系数,使得PLL输出为200M(事实上F7的最高时钟频率官方设置为216M);之后合理设置分频系数给HCLK和后续外设及总线使用。
至此,完成时钟初始化。
  • USART模块的初始化

对于开发板STM32F7,其上集成了STLINKV2.1,对应了虚拟串口的功能。打开原理图可以找到STLINKRXTX对应的管脚,具体对应PA9PB7,这就是串口对应的两个管脚。
查阅pinout可知,该串口为串口1
现初始化USART1,在pinout界面,使能USART1模块。
configuration界面,选择usart1,进行如下配置。
2.GPIO的初始化
默认状态下usart1使用的未必是我们需要的IO口,因此可以重新检查一下进行设置。这里,回到pinout管脚,将对应的PA9PB7选为USART1功能。
至此,完成GPIO初始化。
3.代码的自动生成
此时,可以进行代码的初始化。选择菜单栏project-generate code,进行代码生成界面。设置工程名字以及开发所用IDE即可。同时,可以在code generator界面中选择为每个外设单独生成c文件和h文件,这样结构清晰些。
选择ok,即可生成代码。之后可以直接打开工程。
4.Delay函数
初始化的工程中,hal文件中使用systick生成了分辨率为msdelay函数。
5.修改程序
以上,可以进行程序的初始化。现在只需要增加用户代码即可。
这里,可以进行一个字符串的发送实验。
首先定义字符串:
uint8_t send[5] = "hello";
在系统初始化usart结束以后,可以调用transmit函数进行传输。
HAL_UART_Transmit(&huart1, send, 5, 500);
6.运行程序
通过keil编译下载后,使用reset按键复位F7,可以看到程序初始化后将发送指定字符。

此帖出自stm32/stm8论坛

最新回复

  详情 回复 发表于 2018-12-14 17:10
点赞 关注(1)
 

回复
举报

4177

帖子

9

TA的资源

五彩晶圆(高级)

沙发
 
"初始化的工程中,hal文件中使用systick生成了分辨率为ms的delay函数。"这个能不能单独拿出来瞧瞧?
此帖出自stm32/stm8论坛

点评

https://bbs.eeworld.com.cn/thread-474938-1-1.html 您好,这里面说过了。  详情 回复 发表于 2015-10-20 16:19
 
 

回复

667

帖子

3

TA的资源

版主

板凳
 
huaiqiao 发表于 2015-10-20 14:21
"初始化的工程中,hal文件中使用systick生成了分辨率为ms的delay函数。"这个能不能单独拿出来瞧瞧?

https://bbs.eeworld.com.cn/thread-474938-1-1.html
您好,这里面说过了。
此帖出自stm32/stm8论坛

点评

哦哦,看到了HAL_Delay()函数。这个是MX这个工具生成的。但是看起来好简单啊。我如果delay ms 和delay us 或者delay s 怎么办?  详情 回复 发表于 2015-10-20 16:31
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

4
 
nemo1991 发表于 2015-10-20 16:19
https://bbs.eeworld.com.cn/thread-474938-1-1.html
您好,这里面说过了。

哦哦,看到了HAL_Delay()函数。这个是MX这个工具生成的。但是看起来好简单啊。我如果delay ms 和delay us 或者delay s 怎么办?
此帖出自stm32/stm8论坛

点评

修改systick把。  详情 回复 发表于 2015-10-20 18:10
 
 
 

回复

667

帖子

3

TA的资源

版主

5
 
huaiqiao 发表于 2015-10-20 16:31
哦哦,看到了HAL_Delay()函数。这个是MX这个工具生成的。但是看起来好简单啊。我如果delay ms 和delay us ...

修改systick把。
此帖出自stm32/stm8论坛

点评

应该是的。  详情 回复 发表于 2015-10-20 18:57
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 

应该是的。
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表