1120|2

410

帖子

3

TA的资源

纯净的硅(高级)

楼主
 

【STM32F723 Discovery Kit】调试串口printf测试 [复制链接]

本帖最后由 TL-LED 于 2023-9-22 14:01 编辑

这篇测试下ST-LINK串口printf测试。

 

一、硬件电路

 

ST-LINK仿真器自带虚拟串口,电路图如下

 

 

虚拟串口连接到STM32的PC6和PC7引脚

 

查看手册,看下PC6和PC7映射的串口

 

二、程序

 

2.1、usart.c

#include "usart/usart.h"

UART_HandleTypeDef g_usart6_handle;

int fputc(int ch, FILE *f)
{
    while ((USART_UX->ISR & 0X40) == 0);     

    USART_UX->TDR = (uint8_t)ch;             
    return ch;
}

void usart_init(uint32_t baudrate)
{
	GPIO_InitTypeDef gpio_init_struct;
	
	USART_UX_CLK_ENABLE();                                       
	USART_TX_GPIO_CLK_ENABLE();                                  
	USART_RX_GPIO_CLK_ENABLE(); 
	gpio_init_struct.Pin = USART_TX_GPIO_PIN;                    
	gpio_init_struct.Mode = GPIO_MODE_AF_PP;                     
	gpio_init_struct.Pull = GPIO_PULLUP;                         
	gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;               
	gpio_init_struct.Alternate = USART_TX_GPIO_AF;               
	HAL_GPIO_Init(USART_TX_GPIO_PORT, &gpio_init_struct);        

	gpio_init_struct.Pin = USART_RX_GPIO_PIN;                    
	gpio_init_struct.Alternate = USART_RX_GPIO_AF;               
	HAL_GPIO_Init(USART_RX_GPIO_PORT, &gpio_init_struct);        

	g_usart6_handle.Instance = USART_UX;                     
	g_usart6_handle.Init.BaudRate = baudrate;                
	g_usart6_handle.Init.WordLength = UART_WORDLENGTH_8B;    
	g_usart6_handle.Init.StopBits = UART_STOPBITS_1;         
	g_usart6_handle.Init.Parity = UART_PARITY_NONE;          
	g_usart6_handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;    
	g_usart6_handle.Init.Mode = UART_MODE_TX_RX;             
	HAL_UART_Init(&g_usart6_handle);                         
    
}

 

2.2、usart.h

#ifndef _USART_H
#define _USART_H

#include "stdio.h"
#include "stm32f7xx_hal.h"

#define USART_TX_GPIO_PORT              GPIOC
#define USART_TX_GPIO_PIN               GPIO_PIN_6
#define USART_TX_GPIO_AF                GPIO_AF8_USART6
#define USART_TX_GPIO_CLK_ENABLE()      do{ __HAL_RCC_GPIOC_CLK_ENABLE(); }while(0)  

#define USART_RX_GPIO_PORT              GPIOC
#define USART_RX_GPIO_PIN               GPIO_PIN_7
#define USART_RX_GPIO_AF                GPIO_AF8_USART6
#define USART_RX_GPIO_CLK_ENABLE()      do{ __HAL_RCC_GPIOC_CLK_ENABLE(); }while(0)   

#define USART_UX                        USART6
#define USART_UX_CLK_ENABLE()           do{ __HAL_RCC_USART6_CLK_ENABLE(); }while(0) 

void usart_init(uint32_t baudrate);          

#endif

 

2.3、main.c

int main(void)
{
  
  MPU_Config();					/* Configure the MPU attributes */
  CPU_CACHE_Enable();		/* Enable the CPU Cache */
  HAL_Init();
  SystemClock_Config();	/* Configure the system clock to 216 MHz */
	
	usart_init(115200);
	
	while(1)
	{
		HAL_Delay(100);
		printf("https://bbs.eeworld.com.cn/\r\n");
	}
}

 

三、运行

 

3.1、查看串口

 

3.2、编译后,下载程序到开发板,运行串口

 

此帖出自stm32/stm8论坛

最新回复

编译后下载程序到开发板,运行串口应该是没有问题的吧   详情 回复 发表于 2023-9-24 08:32
点赞 关注
 

回复
举报

1667

帖子

0

TA的资源

五彩晶圆(初级)

沙发
 

编译后下载程序到开发板,运行串口应该是没有问题的吧

此帖出自stm32/stm8论坛

点评

printf输出正常  详情 回复 发表于 2023-9-24 18:32
 
 

回复

410

帖子

3

TA的资源

纯净的硅(高级)

板凳
 
火辣西米秀 发表于 2023-9-24 08:32 编译后下载程序到开发板,运行串口应该是没有问题的吧

printf输出正常

此帖出自stm32/stm8论坛
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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