STM32F10X(库版本)串口发送字符串到上位机

1 通讯的三种方式

2异步同步的区别

3 代码

1 通讯的三种方式 

1)单工通讯 :一端只能是接收 一端也只能发送 只能单向传输 比如 打印机

2)半双工 :两边都可以作为发送和接收 但是 是在某个时刻 比如 对讲机 一端是接收而一端只能发送 反过来也是可以的

3)全双工  :也就是和半双工的时间端相反  任意时刻都可以。

2异步同步的 区别 我们只需看它本身有没有自带时钟   如果有 就是 同步  没有 就 不是 

3 代码

时钟 我们用的是 GPIOA  并且 用了 串口一

     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA,ENABLE);
    RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1,ENABLE);

GPIOA 结构体成员配置  PA10 是接收(RX)PA9 发送 (TX)   



     GPIO_InitStruct.GPIO_Mode =GPIO_Mode_AF_PP;
	 GPIO_InitStruct.GPIO_Pin =GPIO_Pin_9;
	 GPIO_InitStruct.GPIO_Speed =GPIO_Speed_50MHz;
	 GPIO_Init(GPIOA,&GPIO_InitStruct);

     GPIO_InitStruct.GPIO_Mode =GPIO_Mode_IN_FLOATING;
	 GPIO_InitStruct.GPIO_Pin =GPIO_Pin_10;
	 GPIO_InitStruct.GPIO_Speed =GPIO_Speed_50MHz;
	 GPIO_Init(GPIOA,&GPIO_InitStruct);
	 

配置的话 我们需要看相关中文参考手册

 

 串口的结构体配置

     USART_InitStruct.USART_BaudRate =115200;
	 USART_InitStruct.USART_HardwareFlowControl =USART_HardwareFlowControl_None;
	 USART_InitStruct.USART_Mode =USART_Mode_Rx|USART_Mode_Tx;
	 USART_InitStruct.USART_StopBits =USART_StopBits_1;
	 USART_InitStruct.USART_Parity =USART_Parity_No;
	 USART_InitStruct.USART_WordLength =USART_WordLength_8b;
     USART_Init(USART1,&USART_InitStruct);

引用的一个函数  重定向  

 int fputc(int ch, FILE *stream)
 { 
  USART_SendData(USART1,(uint16_t)ch);
 while( USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
   return ch;
 }

重定向并没那么神秘   意思就是  重新写一个函数  实则 实则 c语言的 pinrtf 就是调用这个的 

详细代码    

请加我  的 绿马  带上你的备注             哞哞一样 

   

 

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值