一知半解学CubeMX——UART:Printf实现

2020-05-20来源: eefocus关键字:CubeMX  UART  Printf

一知半解学习环境:

    1、CubeMX 4.23.0

    2、uVision 5.14.2

    3、MCU 启明 STM32F407 开发板(高配版) V3.1


一知半解学习目标:

    1、掌握CubeMX下RCC以及SYS的相关配置;

    2、掌握CubeMX下串口配置;

    3、掌握Printf的实现套路;


一知半解实现过程:

    1、配置系统调试接口及时基时钟源;

    2、配置外部高速时钟源;

    3、根据原理图配置对应串口(USART1);

    4、配置时钟树;

    5、配置串口参数,保持默认参数即可;

    6、生成工程,并添加程序;

首先,打开工程,在usart.c文件的最后添加如下程序;


/* USER CODE BEGIN 1 */

#ifdef __GNUC__

  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf

     set to 'Yes') calls __io_putchar() */

  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else

  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)

#endif /* __GNUC__ */

PUTCHAR_PROTOTYPE

{

  /* Place your implementation of fputc here */

  /* 使用的串口可根据实际配置修改 */

  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;

}

/* USER CODE END 1 */


其次,在main.c循环中添加打印信息;


/* USER CODE BEGIN WHILE */

  while (1)

  {

  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */

        HAL_Delay(1000);

        printf("杭州义益钛迪信息技术有限公司嵌入式部门n");

  }

  /* USER CODE END 3 */


     7、串口调试助手打印验证;


一知半解套路回顾:

    1、掌握CubeMX配置的常规套路,如SYS、RCC以及时钟树的配置等;

    2、掌握CubeMX串口的配置;

    3、学会printf实现需要添加文件的固定套路(以后遇到只需要复制就行);

关键字:CubeMX  UART  Printf 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic497715.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM32Cubemx出现工程突然自动退出的问题
下一篇:IAR平台下使用STM32的DSP配置方法

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STM32CubeMX学习--(4)CAN使用
CUBE配置CAN参数配置配置引脚PD0 PD1为CAN功能。在Connectivity->CAN1中勾选Master Mode。在ParameterSettings中配置:NVIC Settings中勾选RX0中断在NVIC中配置CAN1中断组为2 2修改代码添加bsp_can.c文件,代码如下:#include "bsp_can.h" #include "main.h"#define CAN1FIFO CAN_RX_FIFO0#define CAN1FIF1 CAN_RX_FIFO1CAN_TxHeaderTypeDef TxMeg;CAN_RxHeaderTypeDef
发表于 2020-05-14
STM32CubeMX学习--(4)CAN使用
STM32CubeMX学习--(5)SPI读写W25Q128
CUBE配置SPI配置引脚配置参数配置点击生成代码代码修改 uint8_t Data1[4]={0x90,0x00,0x00,0x00}; uint8_t Data2[2]={0x00,0x00}; uint8_t RxData[2]={0x00,0x00};/****************************/  while (1)  {   HAL_GPIO_WritePin(SPI1_NSS_GPIO_Port,SPI1_NSS_Pin,GPIO_PIN_RESET);   HAL_SPI_Transmit(&hspi1,Data1,4,100);  
发表于 2020-05-14
STM32CubeMX学习--(6)USB大容量存储设备
CUBE配置USB_OTG_FS配置记得勾选NVIC中断使能。USB_DEVICE配置clock配置修改代码主要修改usbd_storage_if.c文件/* USER CODE BEGIN Header *//**  ******************************************************************************  * @file           : usbd_storage_if.c  * @version       
发表于 2020-05-14
STM32CubeMX学习--(6)USB大容量存储设备
STM32CubeMx开发之路—3发送USART数据和printf重定向
运行环境Windows10STM32CubeMX___Version 5.0.0Keil5(MDK5)___Version 5.15简介本例程主要讲解如何通过串口发送数据和重定向printfSTM32CubeMx基本配置基础配置过程请参考 STM32CubeMx(Keil5)开发之路—1配置第一个项目STM32CubeMx USART1配置1——点击USART1进行设置2——模式选择Asynchronous异步传输3——可以看到右边自动出现了Tx和Rx4——可以自行设置波特率,停止位,校验位等参数代码修改1——选择main.c文件2——在USER CODE中添加如下代码,重定向printfint fputc(int ch
发表于 2020-05-13
STM32CubeMx开发之路—3发送USART数据和printf重定向
使用stm32cubemx的usb-host-cdc库驱动EC20模块
开发环境:开发板:正点原子F407探索者代码生成工具:STM32CubeMX v5.4.0IDE: eclipse + ac6工具链实现功能:单片机可以通过usb接口和EC20的AT指令虚拟串口通讯。为了方便测试,配置串口2,将 模块->单片机 方向的数据通过串口2发送到电脑,将电脑通过串口工具发送到单片机的数据,转发给模块。开始1、使用STM32CubeMX配置工程,生成基础代码1.1.1 配置晶振1.1.2 配置时钟1.2.1 配置串口21.2.2 配置DMA1.2.3 开串口中断1.3.1 配置USB Host_Only,不使用VBUS SOF1.3.2 在Middleware中选择USB_HOST将Class for
发表于 2020-05-13
使用stm32cubemx的usb-host-cdc库驱动EC20模块
STM32CubeMx学习之-NVIC
NVIC(嵌套向量中断控制器)NVIC就是控制中断响应的。主要由三个参数,一个是中断使能,一个是抢占优先级,还有一个就是响应优先级。(优先级数值越小,优先级别越高)中断使能:很好理解,就是是否开启中断,如果开启中断,则满足中断触发条件时程序会跳到中断服务程序运行,否则不响应中断主程序继续运行。抢占优先级:是用来判断一个中断是否可以打断另外一个中断的中断服务程序抢先运行。例如A中断触发,正在运行A中断的服务程序,此时B中断也触发,如果B中断的抢占优先级比A的高,则程序会打断A的中断服务程序,去运行B的中断服务程序,即中断嵌套。等B的中断服务程序运行完后继续运行A的中断服务程序。如果B的抢占优先级没有高过A的抢占优先级,则程序不会打断A
发表于 2020-05-13
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved