当前位置: 首页 > wzjs >正文

如何做网站大图片十大互联网广告公司

如何做网站大图片,十大互联网广告公司,石家庄专业做网站,千锋教育软件测试STM32 片上资源之串口 1 串口介绍1.1 初步介绍1.2 主要特性1.2.1 USART特性1.2.2 UART特性 1.3 主要寄存器1.4 波特率计算1.5 常用工作模式1.5.1 轮询模式:1.5.2 中断模式:1.5.3 DMA模式: 1.6 常见应用1.7 注意事项 2 软件层面协议2.1 基本概…

STM32 片上资源之串口

  • 1 串口介绍
    • 1.1 初步介绍
    • 1.2 主要特性
      • 1.2.1 USART特性
      • 1.2.2 UART特性
    • 1.3 主要寄存器
    • 1.4 波特率计算
    • 1.5 常用工作模式
      • 1.5.1 轮询模式:
      • 1.5.2 中断模式:
      • 1.5.3 DMA模式:
    • 1.6 常见应用
    • 1.7 注意事项
  • 2 软件层面协议
    • 2.1 基本概念
    • 2.2 物理层标准
      • 2.2.1 RS-232硬件标准
      • 2.2.2 RS-422:
      • 2.2.3 RS-485:
    • 2.3 协议核心参数
      • 2.3.1 波特率(Baud Rate):
      • 2.3.2 数据位(Data Bits):
      • 2.3.3 停止位(Stop Bits):
      • 2.3.4 校验位(Parity Bit):
    • 2.4 数据帧结构
  • 3 代码

这里以stm32f4系列的标准库为应用案例解释

1 串口介绍

1.1 初步介绍

STM32F407系列包含最多6个USART/UART接口。 4个通用同步/异步收发器(USART),2个通用异步收发器(UART)。

具体型号的可用串口数量可能不同,需参考具体型号的数据手册。
在这里插入图片描述

1.2 主要特性

在这里插入图片描述

1.2.1 USART特性

全双工异步通信

单线半双工通信

同步通信(需要时钟线)

支持LIN协议

支持智能卡协议(ISO7816)

支持IrDA SIR ENDEC规范

支持调制解调器操作(CTS/RTS)

在这里插入图片描述

1.2.2 UART特性

全双工异步通信

单线半双工通信

支持LIN协议

支持IrDA SIR ENDEC规范

支持调制解调器操作(CTS/RTS)

在这里插入图片描述

1.3 主要寄存器

每个USART/UART包含以下主要寄存器:

USART_SR - 状态寄存器

USART_DR - 数据寄存器

USART_BRR - 波特率寄存器

USART_CR1/CR2/CR3 - 控制寄存器

1.4 波特率计算

波特率计算公式:

波特率 = fCK / (16 * USARTDIV)
其中:

fCK是USART时钟频率(APB1或APB2总线)

USARTDIV是写入USART_BRR寄存器的值

1.5 常用工作模式

1.5.1 轮询模式:

  1. 简单直接

  2. 占用CPU资源

  3. 适合低速率或简单应用

1.5.2 中断模式:

  1. 数据收发通过中断处理

  2. 提高CPU利用率

  3. 需要配置NVIC

1.5.3 DMA模式:

  1. 高效数据传输

  2. 适合大数据量传输

  3. 需要配置DMA控制器

1.6 常见应用

  1. 与PC通信(通过USB转串口)
  2. 与GPS模块通信
  3. 与无线模块(如蓝牙、WiFi)通信
  4. 工业设备间的RS232/RS485通信
  5. 调试信息输出

1.7 注意事项

  1. 确保时钟配置正确(USART时钟使能)

  2. 注意GPIO复用功能配置

  3. 不同USART挂载在不同APB总线上,时钟频率可能不同

  4. 使用DMA时注意缓冲区管理

  5. 在低功耗应用中注意唤醒源配置

2 软件层面协议

2.1 基本概念

串口通信是一种常见的设备间通信方式,以下是关于串口通信协议的全面介绍。串口通信(Serial Communication)是指通过单根数据线按位顺序传输数据的通信方式,与之相对的是并行通信。

2.2 物理层标准

2.2.1 RS-232硬件标准

最传统的串口标准

电压范围:±3V至±15V

典型DB9连接器

传输距离短(约15米)

2.2.2 RS-422:

差分信号传输

传输距离可达1200米

全双工通信

2.2.3 RS-485:

改进的RS-422

支持多点通信(最多32个节点)

半双工通信

工业环境常用

2.3 协议核心参数

2.3.1 波特率(Baud Rate):

波特率即每秒钟传输二进制信息的位数,单位是为位/秒(bps或bit/s)。如每秒钟传输240个字符,每个字符帧格式包含10位(1个起始位、1个停止位、8个数据位),则此时的波特率为:
在这里插入图片描述

传输距离与波特率及传输线的电气特性有关。当传输线使用每0.3m(约1英尺)有50pF电容的非平衡屏蔽双绞线时,传输距离随波特率的增加而减小。当波特率超过1000 bps 时,最大传输距离迅速下降,如115200 bps 时最大距离下降到只有30m。

常见值:9600, 19200, 38400, 57600, 115200等

通信双方必须一致

2.3.2 数据位(Data Bits):

通常5-9位,常用8位

2.3.3 停止位(Stop Bits):

1位、1.5位或2位

用于标识数据包结束

2.3.4 校验位(Parity Bit):

可选:无校验(None)、奇校验(Odd)、偶校验(Even)

用于简单错误检测。

若设置为奇校验,则当接收方接收到数据时,校验“1”的个数是否为奇数,从而确定数据传输是否正确;若设置为偶校验,则当接收方接收到数据时,校验“1”的个数是否为偶数,从而确定数据传输是否正确;若设置为无校验,则不对数据传输的正确性做判断。

2.4 数据帧结构

在这里插入图片描述

3 代码

#include "stm32f4xx_usart.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"void USART_Config(void) {GPIO_InitTypeDef GPIO_InitStruct;USART_InitTypeDef USART_InitStruct;// 1. 时钟使能RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);// 2. 配置 PA9(TX) 和 PA10(RX)GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOA, &GPIO_InitStruct);// 配置复用功能GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);// 3. 配置 USART1USART_InitStruct.USART_BaudRate = 115200;USART_InitStruct.USART_WordLength = USART_WordLength_8b;USART_InitStruct.USART_StopBits = USART_StopBits_1;USART_InitStruct.USART_Parity = USART_Parity_No;USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStruct.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;USART_Init(USART1, &USART_InitStruct);// 4. 启动 USARTUSART_Cmd(USART1, ENABLE);
}void USART1_SendChar(uint8_t ch) {while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);USART_SendData(USART1, ch);
}
http://www.dtcms.com/wzjs/215276.html

相关文章:

  • 好看的扁平化网站怎么自己创建一个网页
  • 微信公众号做网站关键词歌词打印
  • 怎么做网站的搜索引擎十大免费软文推广平台
  • 江西省网站建设先进表彰常用的搜索引擎
  • 看b站视频软件24小时免费下载推广软文平台
  • 想在网站上放百度广告怎么做最新seo新手教程
  • 搭建影视网站日本站外推广网站
  • 站长工具seo综合查询全面解析网络营销的内涵
  • 开贴纸网站要怎么做的怎么知道自己的域名
  • 西安网站开发哪家好如何让百度搜索排名靠前
  • 帮做动态头像的网站十大免费最亏的免费app
  • 陕西省建设厅执业资格注册中心网站报名系统seo入门基础知识
  • 企业网站开发汇报谷歌广告推广怎么做
  • 广州网站建设模板电商网站前端页面内容编写
  • 如何用代码制作网站百度竞价怎么开户
  • h5开发网站优点整合网络营销公司
  • 佛山做公司网站阿里大数据平台
  • 网站制作方案策划简历个人能接广告联盟吗
  • 什么网站可以做ui小动画手机搜索引擎
  • 网站建设怎么网络营销的重要性
  • 邯郸网站建设fkop惠州seo管理
  • 网站开发设计流程时间表seo新手入门教程
  • 山东做网站推广平台怎么找客源
  • 政府网站建设合同书各大网址收录查询
  • 宜昌做网站的seo从0到1怎么做
  • 做食品网站有哪些东西百度提交入口网站网址
  • 网络推广怎么做黄页88无锡seo排名收费
  • wordpress redis手机石家庄seo外包的公司
  • 网站开发公司组织架构百度识图在线网页版
  • 网站建设 南京深圳百度关键