stm32 uart打印
来源:互联网 发布:淘宝千牛客服怎么设置 编辑:程序博客网 时间:2024/06/07 21:53
电子调试借助uart打印,轻松实现实时debug。
STM32模块操作常用的方式,先配置GPIO与相对模块对接,然后对模块配置;stm32串口打印示例如下,以stm32f030x8为例:
1.配置gpio,配置uart:
增加gpio 和 usart lib文件,可以到lib查找相关结构体的使用;
GPIO_InitTypeDef // IO相关结构体
USART_InitTypeDef // uart相关结构体
RCC_AHBPeriphClockCmd // 时钟配置,差点别忘记了
到#include “stm32f0xx_rcc.h”//查看每个模块时钟设置方式,每个芯片基本都有点区别,这个需要留意,确保所选时钟与配置时钟函数对应上;
void Uart_config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
/* Enable GPIO clock */RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);/* USART1 Pins configuration ************************************************//* Connect pin to Periph */GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1); GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1); /* Configure pins as AF pushpull */GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_2;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOA, &GPIO_InitStructure); //USART USART_InitStructure.USART_BaudRate = 115200;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure); USART_Cmd(USART1, ENABLE);
}
2. 增加#include “stdio.h”,配置uart打印与系统 io对应,此操作方便用系统printf打印输出;增加相关函数如下:
int fputc(int ch, FILE *f)
{
/* Place your implementation of fputc here */
/* e.g. write a character to the USART */
USART_SendData(USART1, (u8) ch);
/* Loop until transmit data register is empty */
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
{}
return ch;
}
3.在target修改设置如下:
4.设置OK后,在main里初始化完成后便可以用printf打印输出。
int main(void)
{
Uart_config();
printf(“uart_init is ok”);
}
- stm32 uart打印
- STM32 uart
- STM32->UART
- STM32 UART 初始化
- STM32 UART调试总结
- STM32 UART学习笔记
- STM32 UART编程
- stm32 UART串口
- 学习stm32--uart
- stm32 固件库之:uart
- STM32 --UART串口通信
- STM32 UART的使用过程
- STM32系统时钟 CAN UART
- STM32--UART异步通信学习
- stm32 uart清除中断时机
- stm32的UART串口通信
- MT6735平台UART打印问题
- STM32开发板入门教程 - 串口通讯 UART
- Ajax.java
- R语言中的负整数索引
- Filter过滤器
- 170115
- Oracle数据库中会话、连接、进程3者之间的关系
- stm32 uart打印
- 问题三十二:怎么用ray tracing画多边形(polygon, triangle)
- 算法竞赛入门经典第三章
- github的基本使用
- (HDU 5773)The All-purpose Zero <最长上升子序列 + 思维题> 多校训练4
- PL/SQL Developer快速连接数据库(不需要再在Oracle数据库安装文件下配置tnsnames.ora文件)
- hadoop&hbase学习03--出现的问题
- 《算法概论》 习题8.9
- 数据源不定时间段后连接中断(解决方法:连接关闭后设置自启动,重新自动连接