美文网首页程序员
stm32-usart收发数据

stm32-usart收发数据

作者: 唯愛倩 | 来源:发表于2018-12-24 18:03 被阅读0次

第一次用简书发文章,难免有些纰漏,多多包含
网上大多是老版本的STM32CubeMx教程,特出一个最新版的教程。

软件:STM32CubeMx 5.0.0、MDK5、
MCU:STM32F103ZET6

最近在做openmv与stm32的有关项目,用到了两者的通讯问题,第一次用USART进行两个系统的通讯,去网上找了很多文章,学到不少东西,在此总结一下:

STM32CubeMx配置

  1. 打开STM32CubeMx软件,File->New Project,选择自己对应的stm32型号,我这里选择STM32F103ZET6,点击Start Project创建一个新工程。
  1. System Core->RCC、设置High Speed Colock(HSE)为Crystal/Ceramic Resonator(意思是:晶体/陶瓷谐振器)
  1. System Core->SYS、设置Dubug为Serial Wire.
  1. Conneectivity->USART1、设置Mode为Asynchronous(异步模式)
    在Configuration(配置)中进行USART配置
    Parameter Settings(参数设置)
    Baud Rate(波特率)、World Length、Parity等参数根据自己需要设置
    此处直接默认
  1. Clock Configuration(时钟树配置)如图所示HCLK(MHz)默认8MHz、更改为72MHz、弹窗点击确定即可,至此完成时钟配置
  1. Project Manager
    ① Project:设置Project Nmae(项目名字)、Project Location(项目位置)、Toolchain/IDE(IDE类型)
    本人用的是MDK,所以Toolchain/IDE选择MDK-ARM V5,此设置根据个人所用的IDE进行选择

② Code Generator(代码生成器):如下图设置即可,如需明白为何这样设置,可自行翻译理解

  1. STM32CubeMx设置完毕,最后一步,生成代码
    点击GENERATE CODE,生成代码
  1. 点击Open Project,直接打开生成的代码。

MDK 代码设置

Translate是编译当前改动的源文件,在这个过程中检查语法错误。但并不生成可执行文件
Build是只编译工程中上次修改的文件及其它依赖于这些修改过的文件的模块,同时重新链接生成可执行文件。如果工程之前没编译链接过,它会直接调用Rebuild All。另外在技术文档中,Build实际上是指increase build,即增量编译。
Rebuild是不管工程的文件有没有编译过,会对工程中所有文件重新进行编译生成可执行文件,因此时间较长。
出自:https://blog.csdn.net/jays_/article/details/83022610

  1. Translate、Build没有报错
  2. 编写代码
    在main.c文件中添加如下代码:
/* USER CODE BEGIN 0 */
uint8_t aRxBuffer1[10];      //接收缓存
uint8_t aTxBuffer[] = "*********USART Connect is OK!***********\r\n";
/* USER CODE END 0 */
/* USER CODE BEGIN 2 */
HAL_UART_Receive_IT(&huart1,aRxBuffer1,1);  // 启动接收
HAL_UART_Transmit_IT(&huart1,aTxBuffer,sizeof(aTxBuffer));  // 发生数据
/* USER CODE END 2 */
/* USER CODE BEGIN 4 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) 
{ 
  HAL_UART_Transmit_IT(&huart1,aRxBuffer1,1); // 发送出去 
} 
/* USER CODE END 4 */

至此,所有配置已完成。将程序下载至MCU,进行调试。

由于板子不在身边,就不上传调试的图了,

此程序是通过串口接受一个字节的数据并通过串口发送出去

如有疑问,可以在下边评论,欢迎大家指出错误之处
第一次写简书,请大家多多指教

侵权删

相关文章

  • stm32-usart收发数据

    第一次用简书发文章,难免有些纰漏,多多包含网上大多是老版本的STM32CubeMx教程,特出一个最新版的教程。 软...

  • 收发数据(2.3)

    2.3 收发数据 2.3.1 将HTTP请求消息交给协议栈 “协议栈并不是一收到数据就马上发送出去,而是会将数据存...

  • 2.3 收发数据

    2.3.1 将HTTP请求消息交给协议栈 首先,协议栈不关心应用程序传来的数据是什么内容,在协议栈看来,发送的数据...

  • 2.3收发数据

    2.3收发数据 将HTTP消息交给协议栈 应用程序调用socket库中的write将发送的数据交给协议栈协议栈收到...

  • 灵动微MM32F003硬件最小系统 --- 串口循环发送接收,变

    本例程用while循环收发串口数据,可以收发变长数据。 main主程序流程 官方例程的修正已基本完成,需要程序的同...

  • 【网络是怎样连接的】第2章 - 用电信号传输 TCP/IP 数据

    2.3 收发数据 将HTTP请求消息交给协议栈 当控制流程从connect回到应用程序之后,接下来就进入数据收发阶...

  • iOS蓝牙4.0,后台监听来电

    在上一篇文章《iOS蓝牙4.0收发数据设计》,有简单的介绍收发数据设计。在iOS蓝牙4.0开发过程中,肯定还有许多...

  • TCP协议数据收发

    服务器在启动应用时创建套接字,客户端则是在访问服务器时创建套接字。 服务器(server) 客户端(clien...

  • srt数据收发设计

    srt数据类型封装

  • DTE和DCE

    DTE(Data Terminal Equipment)数据终端设备 具有一定的数据处理能力以及收发能力的数据I/...

网友评论

    本文标题:stm32-usart收发数据

    本文链接:https://www.haomeiwen.com/subject/ghmzkqtx.html