历史上的今天
今天是:2025年01月09日(星期四)
2019年01月09日 | stm32串口通信程序之UART2(TTL)
2019-01-09 来源:eefocus
一、硬件连接


二、串口助手设置:

三、keil下编程
1.要添加的工程文件

二要编写的user文件
1.main.c
#include "printf.h"
int main()
{
printf_init();
printf("\luoyiran is a nice boy\n");
printf("xixi\n");
printf("serial communications is so mystical and interesting!\n");
printf("keep striving!\n");
}
2.printf.c
#include "printf.h"
#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_usart.h"
#include "misc.h"
int fputc(int ch,FILE *f)
{
while(USART_GetFlagStatus(USART2,USART_FLAG_TC) != SET);
USART_SendData(USART2,(unsigned char)ch);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC) != SET);
return (ch);
}
/*函数名printf_init()
描述:配置USART2的GPIO口,
工作模式为:比特率115200 数据位:8位 奇偶校验位:N 停止位:1
输入:无
输出:无
****************************/
void printf_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
/*config USART clock*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);
RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2,ENABLE);
/*USART1 GPIO config*/
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP; //复用推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin= GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING; //复用开漏输入
GPIO_Init(GPIOA,&GPIO_InitStructure);
/*USART1 mode Config*/
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(USART2,&USART_InitStructure);
USART_Cmd(USART2,ENABLE);
}
printf.h
#ifndef __printf_H
#define __printf_H
#include "stm32f10x.h"
#include
void printf_init(void);
int fputc(int ch,FILE *f);
#endif
四、编译文件,点击load,打开串口调试助手,接上跳线帽子,观察串口助手打印现象

下一篇:stm32按键轮循点灯
史海拾趣
|
无线监控和传统的监控方案相比,具有以下三大优点: 1、综合成本低,只需一次性投资,无须挖沟埋管,特别适合室外距离较远及已装修好的场合;在许多情况下,用户往往由于受到地理环境和工作内容的限制,例如山地、港口和开阔地等特殊 ...… 查看全部问答> |
|
我把6张1600x1000的图PS成一张 1600x6000的,不知道什么的SHLoadImageFile加载位图都返回时空?我用一张一张加载都没问题。哪位能指点下呀!… 查看全部问答> |
|
网站被挂马,被入侵,相信这是很多站长的一个心病! 针对这个问题,国内几大idc主机提供商还没有找到解决方案! 为什么我的网站没有漏洞,还会被入侵?这个问题主要出现在服务器安全配置上! 攻击者一般都是跨站攻击,首先就是在同一个服务器 ...… 查看全部问答> |
|
如以下语句: SELECT id,name FROM 表A WHERE id = (SELECT MAX(id) FROM 表A) 这样的语句在2000里运行OK,但是在SQLSERVER CE里却报错。 是SQLSERVER CE不支持吗?有什么解决方案?… 查看全部问答> |
|
将Altium.Designer09器件库中IC部分索引到一个pdf文件中,可以利用PDF阅读器的搜索功能搜索。 不知道有没有用途,反正我自己在用。 分卷压缩: https://download.eeworld.com.cn/detail/wangfuchong/13082 https://download.eeworld.com.cn/det ...… 查看全部问答> |
|
制作放大器实际上是一项技术性较强的工作,应考虑和注意下面的三件事。 1.方案的选取 首先确定放大器的各项技术指标要求,比如频率响应范围、输出功率、对音色的要求等等。 若要求音色比较醇厚丰满,则应选择电子管放大器。接下来根据确定的 ...… 查看全部问答> |




