历史上的今天
返回首页

历史上的今天

今天是: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,打开串口调试助手,接上跳线帽子,观察串口助手打印现象


推荐阅读

史海拾趣

Adam Tech公司的发展小趣事

Adam Tech公司成立于1987年,总部位于美国新泽西州。创业初期,公司面临着资金短缺、市场竞争激烈等诸多困难。然而,创始人凭借对电子连接器行业的深刻理解和执着追求,带领团队克服重重困难,逐渐在市场上站稳脚跟。公司最初的产品线相对单一,但凭借着高品质和可靠的性能,逐渐赢得了客户的信任。

集创北方(CHIPONE)公司的发展小趣事

作为一家专注于显示芯片设计的企业,集创北方始终将技术创新作为核心竞争力。从早期的LED驱动芯片到后来的AMOLED驱动芯片,再到国内率先推出的TDDI芯片ICNL9920,集创北方不断推出具有竞争力的产品,满足了市场对于高质量显示芯片的需求。

General Microcircuits Corp公司的发展小趣事
根据所需的信号频率和增益来选择具有足够GBW的运算放大器。
Geo Semiconductor Inc公司的发展小趣事
针对CPU等发热量大的元件,增加散热片、风扇等散热措施,确保元件在正常工作温度范围内运行。
AUREL公司的发展小趣事

AUREL公司早期在电子行业中并不显眼,直到它成功研发出一款具有革命性的半导体芯片。这款芯片在功耗、性能和稳定性上都达到了前所未有的水平,立刻引起了市场的广泛关注。公司通过积极的市场推广和技术合作,逐渐打开了国内外市场,奠定了在电子行业中的技术领先地位。

Ferroxcube公司的发展小趣事

在电子行业中,质量始终是客户最关心的问题之一。Ferroxcube公司深知这一点,因此在生产过程中严格控制产品质量,确保每一个出厂的产品都符合甚至超过客户的期望。

有一次,一个大型电子设备制造商向Ferroxcube下了一笔大额订单,要求提供一批高性能的磁环。然而,在生产过程中,质检部门发现其中一部分磁环的性能指标略低于标准要求。虽然这批产品仍然符合市场上的大部分需求,但Ferroxcube公司决定全部返工,确保每一件产品都达到最高标准。

这一举动虽然增加了公司的生产成本,但却赢得了客户的极高评价。那家大型电子设备制造商对Ferroxcube的严谨态度和专业精神表示赞赏,并将Ferroxcube列为了其首选供应商之一。此后,双方的合作更加紧密,共同开发了许多创新的电子产品。

问答坊 | AI 解惑

无线监控是发展方向 技术改进势在必行

无线监控和传统的监控方案相比,具有以下三大优点:     1、综合成本低,只需一次性投资,无须挖沟埋管,特别适合室外距离较远及已装修好的场合;在许多情况下,用户往往由于受到地理环境和工作内容的限制,例如山地、港口和开阔地等特殊 ...…

查看全部问答>

SHLoadImageFile 返回句柄为空

我把6张1600x1000的图PS成一张 1600x6000的,不知道什么的SHLoadImageFile加载位图都返回时空?我用一张一张加载都没问题。哪位能指点下呀!…

查看全部问答>

告别网站被入侵,被安装病毒!

网站被挂马,被入侵,相信这是很多站长的一个心病! 针对这个问题,国内几大idc主机提供商还没有找到解决方案! 为什么我的网站没有漏洞,还会被入侵?这个问题主要出现在服务器安全配置上! 攻击者一般都是跨站攻击,首先就是在同一个服务器 ...…

查看全部问答>

●SQLSERVER CE不支持嵌套查询吗?●

如以下语句: SELECT id,name FROM 表A WHERE id = (SELECT MAX(id) FROM 表A) 这样的语句在2000里运行OK,但是在SQLSERVER CE里却报错。 是SQLSERVER CE不支持吗?有什么解决方案?…

查看全部问答>

单片机串口通信

小弟现在做一个与单片机串口通信有关的设计,具体如下:   主片:PC上连一个无线模块,并装有串口调试助手V2.2.   从片:单片机连一个无线模块,在P1口有8个带锁的按键.    前提:硬件连接没有问题. 要求:把P1口的P1 ...…

查看全部问答>

无刷直流电机(BLDC)基础

无刷直流电机(BLDC)是一种正快速普及的电机类型是,它可在家用电器,汽车,航空航天,消费品,医疗,工业自动化设备和仪器等行业中使用。…

查看全部问答>

《CM3权威指南》

《CM3权威指南》 https://bbs.eeworld.com.cn/frame.php?frameon=yes&referer=http%3A//bbs.eeworld.com.cn/iclist-17.html…

查看全部问答>

求国嵌视频

谁能提供国嵌的加密视频,不求免费,只求不贵。我的邮箱robot1126@126.com。…

查看全部问答>

Altium09器件库中IC部分索引为一个pdf文件中

将Altium.Designer09器件库中IC部分索引到一个pdf文件中,可以利用PDF阅读器的搜索功能搜索。 不知道有没有用途,反正我自己在用。 分卷压缩: https://download.eeworld.com.cn/detail/wangfuchong/13082 https://download.eeworld.com.cn/det ...…

查看全部问答>

制作放大器应注意的三个问题

制作放大器实际上是一项技术性较强的工作,应考虑和注意下面的三件事。  1.方案的选取 首先确定放大器的各项技术指标要求,比如频率响应范围、输出功率、对音色的要求等等。  若要求音色比较醇厚丰满,则应选择电子管放大器。接下来根据确定的 ...…

查看全部问答>