硬汉嵌入式论坛

 找回密码
 立即注册
查看: 8287|回复: 11
收起左侧

[STM32CubeF4] 【STM32CubeF4教程】第二期:使用STM32CubeMX生成用于STM32-V5开发板的USART工程

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
发表于 2015-3-11 12:21:38 | 显示全部楼层 |阅读模式
                 第二期:使用STM32CubeMX生成用于STM32-V5开发板的USART工程


    本期教程使用STM32CubeMX生成可用于STM32-V5开发板的USART1工程,通过本期教程让大家对STM32CubeMX有个整体的认识。
   1.1  STM32CubeMX生成USART工程
   1.2  USART工程再配置
   1.3  完整工程下载
*******************************************************************************************************************************************
1.1  STM32CubeMX生成USART工程
1.1.1  MCU选型
      首先打开STM32CubeMX的界面上的New Project后,选择STM32-V5开发板上面使用MCU型号
1.png


1.1.2  USART引脚配置
      通过上面选择好型号后,选择使用USART1,在下图所示位置进行使能:
2.png


1.1.3 RCC配置
      选择使用外部晶振:
3.png


1.1.4 时钟配置
      时钟配置如下,设置外部晶振是25MHz,STM32CubeMX这部分设计的非常好,可以很方便的设置时钟。
4.png


1.1.5 USART配置   
USART配置如下,选择波特率115200,8位,无校验位,按照如下配置好后,选择OK-->apply
5.png
6.png

7.png



1.1.6 生成工程   
      点击如下图标生成MDK工程,相应选项配置好后,点击OK就开始生成工程,
8.png
9.png


1.2  USART工程再配置
     STM32CubeMX生成的工程如下:
10.png

生成工程后,用户只需添加简单的代码就可以通过开发板上面的串口打印数据,这里我们添加几行简单的代码
实现每100ms发送字符串"www.armfly.com"

#include "stm32f4xx_hal.h"
#include "usart.h"
#include "gpio.h"

/* 以下三行用户添加 */
#define RXBUFFERSIZE  20                           
extern UART_HandleTypeDef huart1;
uint8_t aTxBuffer[] = "www.armfly.com\r\n";


/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);

int main(void)
{


  /* USER CODE BEGIN 1 */
  /* USER CODE END 1 */
  /* MCU Configuration----------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();


  /* Configure the system clock */
  SystemClock_Config();


  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();


  /* USER CODE BEGIN 2 */


  /* USER CODE END 2 */


  /* USER CODE BEGIN 3 */
  /* Infinite loop */
  while (1)
  {   
      /* 以下两行用户添加 */
      HAL_UART_Transmit(&huart1, aTxBuffer, RXBUFFERSIZE, 5000);     
      HAL_Delay(100);
  }
  /* USER CODE END 3 */
}


添加完后,配置下工程下载选项就可以将代码下载到STM32-V5开发板运行,需要配置的位置
有如下几项:
11.png

12.png

配置好后,千万记得点击确定,这样就可以点击MDK上面的load图标下载到开发板。
13.png

下载后,复位开发板,打开串口助手,可以看到打印信息:
14.png



1.3 完整工程下载
usart.zip (1019 KB, 下载次数: 295)
回复

使用道具 举报

0

主题

27

回帖

27

积分

新手上路

积分
27
发表于 2015-3-11 12:42:03 | 显示全部楼层
[s:152]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
 楼主| 发表于 2015-3-12 14:10:02 | 显示全部楼层
整理中,晚上发布。
回复

使用道具 举报

116

主题

799

回帖

1147

积分

至尊会员

积分
1147
QQ
发表于 2015-3-12 16:34:44 | 显示全部楼层
楼主能做一起SPI 用DMA 通信的例子吗? 可以用开发板上面的1053[s:138]
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
 楼主| 发表于 2015-3-12 16:40:48 | 显示全部楼层

回 jcx0324 的帖子

jcx0324:楼主能做一起SPI 用DMA 通信的例子吗? 可以用开发板上面的1053[s:138]  (2015-03-12 16:34) 
好的,后面试试。
回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2015-3-12 19:32:42 | 显示全部楼层
[s:141] [s:141] [s:141] [s:141] [s:145]
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

2

主题

13

回帖

19

积分

新手上路

积分
19
发表于 2015-3-31 09:27:41 | 显示全部楼层
请问为什么要加HAL_Delay(100)这一句, 实验证明不加会丢数据
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106749
QQ
 楼主| 发表于 2015-3-31 09:32:15 | 显示全部楼层

回 maswangy 的帖子

maswangy:请问为什么要加HAL_Delay(100)这一句, 实验证明不加会丢数据 (2015-03-31 09:27) 
做个延迟,要不程序一直以115200的波特率发送数据。
回复

使用道具 举报

0

主题

7

回帖

0

积分

新手上路

积分
0
发表于 2015-5-21 16:41:08 | 显示全部楼层
谢谢 eric2013 这样循序渐进的教程
回复

使用道具 举报

0

主题

2

回帖

0

积分

新手上路

积分
0
发表于 2015-10-15 10:27:00 | 显示全部楼层
刚入门,一步步学[s:151] [s:151]
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2016-3-18 10:37:41 | 显示全部楼层
顶顶顶,谢谢楼主[s:151] [s:151] [s:151]
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2016-8-30 18:01:05 | 显示全部楼层
请问有没有串口接收的工程文件?
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 09:15 , Processed in 0.276282 second(s), 34 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表