【STM32】入门(五):串口TTL、RS232、RS485

      最后更新:2022-08-04 16:38:17 手机定位技术交流文章

      [STM32]STM32单片机的概况

      1、简述

      1.1 电平

      TTL:完全双plex,逻辑0与0V相符,逻辑1与3.3V或5V相符,通常直接从单片机提取,电平3.3V或5V与IO等价器兼容;

      RS232:完全双plex,逻辑0至+3V至+15V,逻辑1-至-15V至-3V,TTL可以在电镀芯片后输出RS232。

      RS485:半双向工作,逻辑0为6V至2V,逻辑1为2V至+6V,这里电平线指AB两线的电压差,即差动传输模式,因此可以长距离传输

      1.2 连接方式

      除了电压差外,连接方法也不同:

      RS232通用DB9头的定义:
      在这里插入图片描述

      1.3 传输协议

      帧包包括启动、有效数据、校正和停止。
      在这里插入图片描述
      协议参数是:频率(9600,115200等),有效数据长度(5~8),校正(奇数,奇数,0,1,不)

      2、手册

      2.1 功能框图

      在这里插入图片描述

      2.2 中断控制

      在这里插入图片描述

      2.3 模式配置

      在这里插入图片描述

      2.4 寄存器映射

      在这里插入图片描述

      3、代码

      3.1 初始化

      • 启用GPIO时钟: RCC_AHB1PeriphClockCmd
      • 启用UART时钟: RCC_APB2PeriphClockCmd
      • GPIO参数重新用于UART: GPIO_PinAFConfig
      • GPIO配置:GPIO_InitStructure,GPIO_Init
      • UART配置: USART_InitStructure, USART_Init
      • 中断配置;NVIC_InitStructure, NVIC_Init

      3.2 发送

      发送字符:版本1

      发送字符:版本2

      发送数组

      USART_FLAG_TXEUSART_FLAG_TC的详细说明

      这两个符号之间的区别在于它们代表数据在传输过程中的两个不同阶段完成。

      因此,决定数据发送的最终信号是TC而不是TXE。

      3.3 接收

      在代码文件start_stm32f10x_hd中,查询中断向量表:
      串口1USART1对应到中断函数为USART1_IRQHandler
      符合上述中断控制配置:NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;

      重载中断函数 USART1_IRQHandler实现反馈函数,即接收什么,发送什么

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/31547.html

          热门文章

          文章分类