用户工具

站点工具


icore4t_53

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_53 [2020/03/26 18:38]
zgf
icore4t_53 [2022/04/01 10:56] (当前版本)
sean
行 2: 行 2:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-03-26 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-03-26 ​ |  gingko ​ |  初次建立 ​ | 
-\\ 
-\\ 
-\\ 
 \\ \\
 \\ \\
行 75: 行 71:
  
 ==== 一、 实验目的与意义 ==== ==== 一、 实验目的与意义 ====
-  -  
   - 了解STM32的UART结构。   - 了解STM32的UART结构。
   - 了解STM32的UART特征。   - 了解STM32的UART特征。
行 91: 行 86:
   - 装有WIN XP(及更高版本)系统的计算机。   - 装有WIN XP(及更高版本)系统的计算机。
 ==== 三、 实验原理 ==== ==== 三、 实验原理 ====
-=== 1.串口通讯协议简介 ===+=== 串口通讯协议简介 ===
   * 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。   * 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。
   * 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。   * 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。
   * 下面我们分别对串口通讯协议的物理层及协议层进行讲解。   * 下面我们分别对串口通讯协议的物理层及协议层进行讲解。
-**物理层:**+== 1、物理层: ​== 
 + 
   * 串口通讯的物理层有很多标准及变种,我们主要讲解 RS-232 标准,RS-232 标准主要规定了信号的用途、通讯接口以及信号的电平标准。   * 串口通讯的物理层有很多标准及变种,我们主要讲解 RS-232 标准,RS-232 标准主要规定了信号的用途、通讯接口以及信号的电平标准。
   * 使用 RS-232 标准的串口设备间常见的通讯结构见下图。   * 使用 RS-232 标准的串口设备间常见的通讯结构见下图。
行 137: 行 134:
 {{ :​icore4t:​icore4t_arm_hal_53_9.jpg?​direct |}} {{ :​icore4t:​icore4t_arm_hal_53_9.jpg?​direct |}}
   * 在目前的其它工业控制使用的串口通讯中,一般只使用 RXD、 TXD 以及 GND 三条信号线,直接传输数据信号,​我们的iCore4T扩展底板也是采用3线连接的。3线连接中,DTE使用TXD和RXD两条数据线,无法实现硬件流控功能,在做大量数据传输应用时,建议使用5线或9线连接方式。   * 在目前的其它工业控制使用的串口通讯中,一般只使用 RXD、 TXD 以及 GND 三条信号线,直接传输数据信号,​我们的iCore4T扩展底板也是采用3线连接的。3线连接中,DTE使用TXD和RXD两条数据线,无法实现硬件流控功能,在做大量数据传输应用时,建议使用5线或9线连接方式。
-**协议层:**+== 2、协议层: ​==
   * 串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。串口数据包的基本组成如下图:   * 串口通讯的数据包由发送设备通过自身的 TXD 接口传输到接收设备的 RXD 接口。在串口通讯的协议层中,规定了数据包的内容,它由启始位、主体数据、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。串口数据包的基本组成如下图:
 {{ :​icore4t:​icore4t_arm_hal_53_10.png?​direct |}} {{ :​icore4t:​icore4t_arm_hal_53_10.png?​direct |}}
行 212: 行 209:
 UART_HandleTypeDef huart1; UART_HandleTypeDef huart1;
 </​code>​ </​code>​
-UART的名称定义,这个结构体中存放了UART所有用到的功能,后面的别名就是我们所用的UART串口的别名+  * UART的名称定义,这个结构体中存放了UART所有用到的功能,后面的别名就是我们所用的UART串口的别名
 <code c> <code c>
 typedef struct __UART_HandleTypeDef ​   typedef struct __UART_HandleTypeDef ​  
行 300: 行 297:
   * 参数:   * 参数:
     * UART_HandleTypeDef *huart ​  ​UATR的别名     * UART_HandleTypeDef *huart ​  ​UATR的别名
- 
   * 串口中断处理函数  ​   * 串口中断处理函数  ​
 <code c> <code c>
行 307: 行 303:
 </​code>​ </​code>​
   * 功能:对接收到的数据进行判断和处理 ​ 判断是发送中断还是接收中断,然后进行数据的发送和接收,在中断服务函数中使用   * 功能:对接收到的数据进行判断和处理 ​ 判断是发送中断还是接收中断,然后进行数据的发送和接收,在中断服务函数中使用
- 
   * 串口查询函数   * 串口查询函数
 <code c> <code c>
行 324: 行 319:
 ==== 六、 实验现象 ==== ==== 六、 实验现象 ====
 通过串口输入命令可以控制LED的亮灭。 通过串口输入命令可以控制LED的亮灭。
- +{{ :​icore4t:​icore4t_arm_hal_53_12.png?​direct |}} 
  
icore4t_53.1585219111.txt.gz · 最后更改: 2020/03/26 18:38 由 zgf