历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2019年09月05日 | STM32F103程序设计-8-USB转TTL串口(printf)

2019-09-05 来源:eefocus

USB转TTL串口(printf)


单片机的串口可以转为TTL电平,可以转232,可以转485。本篇讲的是通过CH340G转TTL电平与PC的USB通信。单片机串口发送数据到电脑的USB,printf作用:做项目时,单片机通过串口往电脑发数据。程序的修改分为四步,具体如下。


Step1:初始化串口


void USART1_Init(void)


{


  /* USARTx configured as follow:


        - BaudRate = 115200 baud  


        - Word Length = 8 Bits


        - One Stop Bit


        - No parity


        - Hardware flow control disabled (RTS and CTS signals)


        - Receive and transmit enabled


  */


  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;




/* Enable GPIO clock */


  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);




/* Enable UART clock */


RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);




/* Configure USART Tx as alternate function push-pull */


  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;


  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


  GPIO_Init(GPIOA, &GPIO_InitStructure);


 


  /* Configure USART Rx as input floating */


  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;


  GPIO_Init(GPIOA, &GPIO_InitStructure);


 


  /* USART configuration */


  USART_Init(USART1, &USART_InitStructure);


    


  /* Enable USART */


  USART_Cmd(USART1, ENABLE);


注意两点:1.一些宏定义的替换2.增加stm32f10x_usart.c文件


Step2:引用头文件stdio.h


Step3:定义PUTCHAR_PROTOTYPE


Step4:勾选MicroLIB

推荐阅读

史海拾趣

Econais公司的发展小趣事

作为一家在电子行业有影响力的企业,Econais深知自己的社会责任。公司积极参与各种公益活动,并致力于推动可持续发展。Econais的产品在设计时就考虑到了环保因素,采用低功耗技术减少能源消耗,并选用环保材料降低对环境的影响。此外,Econais还通过技术创新帮助其他企业实现节能减排的目标。

以上五个故事概述了Econais在电子行业发展中的一些重要里程碑和关键事件。这些故事不仅展示了Econais的技术实力和市场竞争力,也体现了公司的社会责任感和可持续发展的理念。

Gowanda Electronics公司的发展小趣事

作为一家在电子行业有影响力的企业,Econais深知自己的社会责任。公司积极参与各种公益活动,并致力于推动可持续发展。Econais的产品在设计时就考虑到了环保因素,采用低功耗技术减少能源消耗,并选用环保材料降低对环境的影响。此外,Econais还通过技术创新帮助其他企业实现节能减排的目标。

以上五个故事概述了Econais在电子行业发展中的一些重要里程碑和关键事件。这些故事不仅展示了Econais的技术实力和市场竞争力,也体现了公司的社会责任感和可持续发展的理念。

Freqtech Ohg公司的发展小趣事

在电子行业的激烈竞争中,Freqtech Ohg公司深知技术创新的重要性。公司投入大量研发资源,专注于高频电子技术的研发。经过数年的努力,Freqtech成功开发出一款高性能的高频滤波器,该产品在信号传输效率和稳定性方面远超同类竞品。这一技术创新不仅为公司赢得了国内外多个重要客户,还使得Freqtech在高频电子领域迅速崛起,成为行业内的佼佼者。

Elcoma公司的发展小趣事

随着全球对环保问题的日益关注,Elcoma公司也积极响应,将环保理念融入到企业的发展战略中。他们采用环保材料和工艺,减少生产过程中的污染排放,同时推出了一系列环保型电子产品,满足消费者对环保产品的需求。这种对环保的重视不仅提升了Elcoma的品牌形象,也为企业带来了可持续发展的动力。

Chips And Technologies Inc公司的发展小趣事

Chips And Technologies Inc的创业之路始于1984年,由Gordon A. Campbell和Dado Banatao在加利福尼亚州的米尔皮塔斯共同创立。作为一家早期的无晶圆厂半导体公司,C&T凭借对技术的深刻理解和市场的前瞻性,成功推出了首款四芯片EGA芯片组,这款产品能够处理增强型图形适配器上19个IBM专有芯片的功能,为当时的个人电脑制造商提供了强大的支持。

Euroquartz公司的发展小趣事

面对不断变化的市场环境和客户需求,Euroquartz始终保持敏锐的洞察力和快速的反应能力。公司不断投入研发力量,推动产品创新和技术升级。同时,Euroquartz也注重与客户的沟通和合作,深入了解市场需求,为客户提供更加专业和贴心的服务。这种持续发展的动力,使Euroquartz在电子行业始终保持领先地位,并为公司的未来发展奠定了坚实的基础。

请注意,由于篇幅限制,以上每个故事都是基于Euroquartz公司的重要事件和事实进行概括和简化的。如果需要更详细的信息或更深入的分析,建议查阅相关报道或公司官方资料。

问答坊 | AI 解惑

将RVDS中的工程移植到RealView MDK

将RVDS中的工程移植到RealView MDK说明文档 请点击链接:http://arm.embedinfo.com/BBS/dispbbs.asp?boardid=3&Id=219…

查看全部问答>

AT89C51控制SAA1042驱动步进电机

AT89C51控制SAA1042驱动步进电机,当怎么调电机总是转不起来,不值是怎么回事? 麻烦大侠们指点指点,有程序的更好。…

查看全部问答>

大学生智能汽车设计整本书课件(超级推荐)

本帖最后由 paulhyde 于 2014-9-15 03:51 编辑 这是《大学生智能汽车设计》整本书的课件,内容很全面,希望对大家有所帮助~~~以下是目录 第1章 智能汽车设计导论 1.1 智能汽车 1.1.1 智能汽车设计的意义及研究内容 1.1.2 智能汽车设计的技术关 ...…

查看全部问答>

Crossing clock domains - Signal

A signal to another clock domain Let\'s say a signal from clkA domain is needed in clkB domain. It needs to be \"synchronized\" to clkB domain, so we want to build a \"synchronizer\" design, which takes a signal from clkA domain, ...…

查看全部问答>

求HP打印机PCL语言手册

我正在开发一个Windows Mobile的打印程序,想直接使用PCL来打印,但找不到PCL手册。…

查看全部问答>

wince下红外驱动

有人在wince下做过红外驱动吗?能提供一些资料吗?要有源码就更好了。…

查看全部问答>

英蓓特STM32V100可以SWD调试了

                                 如果要SWD调试,那么要用外部仿真器,然后把子板下的244去掉,把板子的JP3 JP7 JP9 JP13 JP10 ...…

查看全部问答>

基于DS18B20和四位LED的温度自动控制系统

基于DS18B20和四位LED的温度自动控制系统 1:采用DS18B20采集温度,精度在0.1度。 2:采用89S52芯片。 3:采用四位共阳LED数码显示,亮度高。 4:可以设定控制温度,达到设定值继电器A工作,低于设定值继电器A断开。 5:超温报警,超过设定温 ...…

查看全部问答>

用ATMEGA16控制NRF905进行简单的收发,调了一周了,希望哪位大侠能帮俺播开云雾!!

发送段代码: #include <iom16v.h>#include <macros.h>#define uint  unsigned int#define uchar unsigned char#define   Low_TX_EN      PORTD&=~(1 << PD7)#define   High ...…

查看全部问答>

求insight ME-52单片机的模拟环境运行软件

有10年没有怎么摸这个东西了,最近公司突然有了一个产品需要用到这个东西,硬件CPU是AT89C52,我手里有个10年前买的Insignt ME-52,但找不到运行环境的软件了.恳求专家指点,那里能够下载到这个软件?…

查看全部问答>