嵌入式开发_NUCLEO-STM32F767ZIT6使用(二)——USART通信初探

本文介绍了新手如何使用NUCLEO-STM32F767ZIT6单片机进行串口通信,包括STM32CubeMX的安装与配置,如USART通信设置、中断处理和NVIC优先级,以及遇到的问题及其解决方法。
摘要由CSDN通过智能技术生成

新手初探NUCLEO STM32F767ZIT6单片机使用,记录问题及解决方法,期待技术分享和经验交流,根据项目使用持续更新。


一、NUCLEO-STM32F767ZIT6官方资料下载

板载资源: MBED.HTM
包括控制器系统架构、引脚说明、技术参考文档、示例程序等

在这里插入图片描述


二、STM32CubeMX安装及使用

2.1 STM32CubeMX下载

提前注册ST账号

官网下载: STM32CubeMX

在这里插入图片描述

选择与开发环境对应的版本
选择版本

2.2 STM32CubeMX安装

下载完成后双击即可安装,自行选择合适的安装路径,其余按照默认设置即可,暂无需要特别注意的地方。

2.3 安装Java jdk环境

STM32CubeMX基于Java实现的,需安装Java jdk环境
下载完成后双击即可安装,自行选择合适的安装路径,其余按照默认设置即可,暂无需要特别注意的地方。

Java jdk安装

三、基于NUCLEO-STM32F767ZIT6的串口通信

3.1 目标

基于NUCLEO-STM32F767ZIT6实现电机的位置跟踪控制

硬件连接框图
在这里插入图片描述

***Nucleo F767ZI用户指南中文资料参考***

STM32CubeMX Nucleo F767ZI 教程(2)

3.2 STM32CubeMX配置

  1. 新建工程
    在这里插入图片描述

  2. 选择开发板
    在这里插入图片描述

  3. 设置Debug模式
    下载方式是SWD方式,选择Serial Wire
    在这里插入图片描述

  4. 设置时钟
    BYPASS Clock Source:内部时钟源
    Crystal/Ceramic Resonator:外部时钟源
    在这里插入图片描述
    ***板载ST-LINK V2.1,输入时钟由ST-LINK的MCO提供。修改时钟配置,使主频达到最高。
    在这里插入图片描述

  5. USART1设置
    默认引脚:
    PB14:Tx PB15:Rx
    由于LD3与PB14连接,故实际配置为:
    PB6:Tx PB15:Rx
    在这里插入图片描述
    按需配置串口参数
    在这里插入图片描述

  6. USART2/3配置
    使用默认引脚
    USART2:
    PB2:Tx PB3:Rx
    USART3:
    PB10:Tx PB11:Rx
    按需配置串口参数
    在这里插入图片描述

  7. GPIO按需配置
    PB1,PB2用于电机的RS485通信。
    PB0,PB7,PB14为LD1/2/3。
    在这里插入图片描述

  8. NVIC中断配置
    优先级可在后期配置
    在这里插入图片描述

  9. 项目配置
    在这里插入图片描述
    在这里插入图片描述

四、串口通信随笔

4.1 串口中断

********************************串口中断流程**********************************
在这里插入图片描述
***在main文件中重新定义HAL_UART_RxCpltcallback函数,对接收的数据进行处理

4.2 NVIC中断优先级

NVIC中断优先级包括抢占优先级和子优先级
规则简介:
1、高优先级的抢占优先级可以打断正在进行的低抢占优先级中断;
2、抢占优先级相同的中断,高响应优先级优先执行,但不可以打断低响应优先级的中断;
3、抢占优先级和响应优先级相同的中断,先发生先执行

五、其他问题

5.1 Undefined symbol …(referred from…)

基于正点原子例程进行开发时遇到此问题,使用STM32CubeMX进行配置不存在该问题

描述:
在这里插入图片描述
原因:
1、没有将包含该函数的头文件包含进来;
2、没有头文件里面声明该函数;
3、没有将该函数的.C文件加入工程里面;
4、已添加头文件,仍然报错是因为没有在配置文件中使能相关外设,打开stm32f4xx_hal_conf.h,找到相关外设宏定义,取消注释。


总结

待补充

  • 27
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值