STM32F103程序设计-8-USB转TTL串口(printf)

发布者:qq8174350最新更新时间:2019-09-05 来源: eefocus关键字:STM32F103  USB转TTL  串口  printf 手机看文章 扫描二维码
随时随地手机看文章

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

关键字:STM32F103  USB转TTL  串口  printf 引用地址:STM32F103程序设计-8-USB转TTL串口(printf)

上一篇:STM32F103程序设计-4-如何制作模板例程文件
下一篇:stm32中断无电平触发的解决办法

推荐阅读最新更新时间:2024-11-17 18:14

利用Simulink自动生成STM32串口代码
功能:利用Simulink自动生成STM32串口代码,在Keil中编译后直接下载到主芯片,实现串口通讯的功能。 在STM32CubeMX里配置引脚功能和时钟等参数; 在Simulink里拖入相关模块; 打开STM32MatTarget的安装路径,默认安装路径为C:MATLABSTM32-MATSTM32,找到STM32demos(注:这里面为官方demos,网上很多资料都是这些内容),找到Test,选择里面的USART,随便找到一个例子打开,将里面的S函数RcvUsartBuff复制到新建的工程中 在NB2Send端口输入要传输的字符个数,Data2Send为传输的数据的地址,buff为要传输的数据,打开S函数如下所示
[单片机]
利用Simulink自动生成STM32<font color='red'>串口</font>代码
STM32F103_SD卡FatFs文件系统移植
一、下载解压官方源码压缩包 1 添加下列文件至项目列表并包含头文件。 二、配置函数接口 主要有以下几个文件 : diskio.c ffconf.h 1 官方源码已经有写好的代码框架,只需要添加ATA(指SD卡)部分即可 (1) 获取设备状态部分,由于SD卡起始状态特别多,此处默认检测到SD卡设备。 case ATA : //默认设备检测成功 status &= ~STA_NOINIT; break; (2) 设备初始化部分,调用sdio.c中的初始化函数即可。 case ATA : if(SD_Init()==SD_OK) {
[单片机]
<font color='red'>STM32F103</font>_SD卡FatFs文件系统移植
STM32F10X ADC原理详解(STM32F103ZET6)
STM32ADC的工作原理 模/数转换器 STM32F10x ADC特点 12位逐次逼近型的模拟数字转换器。 最多带3个ADC控制器 最多支持18个通道,可最多测量16个外部和2个内部信号源。 支持单次和连续转换模式 转换结束,注入转换结束,和发生模拟看门狗事件时产生中断。 通道0到通道n的自动扫描模式 自动校准 采样间隔可以按通道编程 规则通道和注入通道均有外部触发选项 转换结果支持左对齐或右对齐方式存储在16位数据寄存器 ADC转换时间:最大转换速率 1us。(最大转换速度为1MHz,在ADCCLK=14M,采样周期为1.5个ADC时钟下得到。) ADC供电要求:2.4V-3.6V ADC输入范围:VREF- ≤ VIN
[单片机]
STM32F10X ADC原理详解(<font color='red'>STM32F103</font>ZET6)
单片机与单片机之间串口通信问题
需要注意TXD与RXD所指的均是对于本身来说的,所以两者之间应该使用交叉串口来进行连接 ,否则会没有数据。 另外可以将一个单片机1的TXD接到单片机2的RXD,而另单片机2的TXD接到电脑上去,这样就可以得到反馈的数据,可以做调试处理。 另外在网站上看到一个说串口缓冲的问题,好像我以前也碰到过,后来也不知道怎么解决的。。 记录一下,我将数据读取回来后存于一数组中,然后进行数据处理。但由于处理程序耗时过长,然后再读取相关数组中数据时,其值已改变为下一次通讯命令数据了!故需在处理程序开始定义临时变量来存取相关数据,即可解决该问题。
[单片机]
STM32L152RC 在keil4中使用printf()和scanf() 函数
1、在keil中配置使用Micro LIB,如下图 2、配置USART模块 void SYS_USARTInit(void) { static USART_InitTypeDef USART_InitStructure; static GPIO_InitTypeDef GPIO_InitStructure; USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_
[单片机]
STM32L152RC 在keil4中使用<font color='red'>printf</font>()和scanf() 函数
STM32F4 串口程序 调试记录 hardfault_handle 问题
项目型号: Proj01_uart // 从现在起开始使用项目型号,此程序调试通过 /***************************************************************************** ** 使用UART4通信 ** TXD = PA0 ** RXD = PA1 ****************************************************************************** ** 乔海权 ** 14-04-03 *********************************************************
[单片机]
PIC32MX450 串口4中断
// mplab x IDE V1.7 /********************************************************************* * * UART Interrupt Example * ********************************************************************* * FileName: uart_interrupt.c * Dependencies: * Processor: PIC32 * * Compiler: MPLAB XC32 *
[单片机]
ST 32兆位串口闪存采用双输入输出引脚保证全速读写操作
2.7V-3.6V电压、75MHz频率的高性能存储器 中国,2007年8月27日 — 世界最大的串口闪存供应商*意法半导体(纽约证券交易所代码: STM)今天发布一个新的32兆位闪存芯片M25PX32 — 存储段和子存储段可擦除的双输入输出引脚的串口闪存系列产品的首款产品。虽然现有的M25PE系列产品的存储粒度已经很高,但是,由于高速性能得到保证,新的M25PX系列的性能更加出色。 M25PX32改进的性能和技术将会给目标应用带来直接的显著的好处,数字平板电视机和机顶盒是典型的受益者。首先是立即执行(XiP)技术,在数字平板电视机内,XiP技术可以为用户增强互动体验;而机顶盒的开机速度则证明了这项技术的优点,因为代码高速下载
[新品]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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