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

如何用Python网站开发苏州网站建设制作服务商

如何用Python网站开发,苏州网站建设制作服务商,移动端关键词排名优化,手机网站怎么搜索引擎对于刚开始涉足STM32微控制器编程的初学者来说#xff0c;掌握其通用同步/异步接收/发送器#xff08;USART#xff09;功能是一项基本且必要的技能。USART在嵌入式系统中广泛用于串行通信。本指南旨在简明扼要地介绍USART的基础概念和基本步骤#xff0c;并提供一个简单的…对于刚开始涉足STM32微控制器编程的初学者来说掌握其通用同步/异步接收/发送器USART功能是一项基本且必要的技能。USART在嵌入式系统中广泛用于串行通信。本指南旨在简明扼要地介绍USART的基础概念和基本步骤并提供一个简单的示例来帮助初学者快速入门。 USART简介 USART是一种串行通讯接口它支持同步和异步通信。在STM32微控制器中USART是一个非常灵活的功能模块可以在多种通信标准下工作如RS232、RS485、LIN和IrDA。 串口通信过程简介 想象一下有两个设备要通过串口线进行通信。我们称它们为设备A发送方和设备B接收方。 设备准备开始时设备A和设备B都设置了相同的波特率。这就像是它们同意按相同的节奏跳舞确保彼此步调一致。 开始传输设备A想要发送一个字符比如字母“A”。在ASCII码中“A”对应的二进制是01000001。 打包数据设备A将这个字符打包成一系列的信号。首先它添加一个起始位通常是一个0然后是字母“A”的二进制表示然后可能还有一个校验位最后是停止位通常是一个1。 这个打包好的数据包看起来可能是这样的 0   01000001 [校验位] 1 逐位发送设备A通过串口线开始发信号每次发送一位。按照先前设置的波特率它准确地控制发送每个位的时间间隔。 信号传输信号顺着串口线一路传到设备B。设备B按照相同的波特率接收这些信号。 接收数据设备B首先检测到起始位然后逐个接收数据位并在最后读取停止位。如果启用了校验它还会检查数据是否完好。 完成传输一旦设备B读取了完整的信号并且确认无误它就知道它成功接收了一个字符。然后它就准备好接收下一个字符了。 在此过程中如果波特率设置错误或数据中有干扰导致错误设备B可能会得到错误的字符。这就是波特率和准确的通信设置为何极其重要的原因。 配置USART 配置STM32上的USART通用同步/异步接收/发送器功能需遵循以下步骤时钟配置 首先需要为相关的USART和GPIO时钟使能。通过RCCReset and Clock Control可以配置这些时钟。例如如果使用的是USART1通常需要使能它的时钟以及连接到它的GPIO端口时钟。 GPIO配置 接下来配置GPIO将涉及到的针脚设置为USART TX发送和RX接收功能。在STM32中大多数GPIO针脚可被配置为多种模式包含USART复用功能。 USART配置 设置USART的基本通信参数包括         波特率Baud rate例如9600、115200等。         字长Word length数据位长度如8位、9位。         停止位Stop bits常见有1位停止位或2位停止位。         校验位Parity可选无校验、奇校验或偶校验。         流控Flow control可选无、硬件RTS/CTS或软件XON/XOFF流控。 这些参数可以通过USART_Init函数设置在STM32标准固件库或HAL库中。 中断配置可选 如果计划使用中断来管理USART通信需要配置USART中断并在NVIC中使能它们。这涉及到编写ISRInterrupt Service Routine中断服务程序以及在NVIC中设置优先级和使能中断。 使能USART 最后初始化过程中在配置完所有必要的参数后使能USART模块。 数据发送和接收 发送数据要发送数据可以将数据写入USART的数据寄存器然后等待发送缓冲区(USART_FLAG_TXE)为空即可发送下一个数据。 接收数据接收数据时要检查接收数据寄存器(USART_FLAG_RXNE )非空标志位当接收到数据时从数据寄存器读取数据即可。 // 如果收到数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) ! RESET){// 从USART1读取数据并回显char data USART_ReceiveData(USART1);USART_SendData(USART1, data);while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) RESET);} USART_FLAG_RXNE接收缓冲区非空标志和USART_FLAG_TXE发送缓冲区空标志是USART通信中两个很重要的状态标志它们存在于USART的状态寄存器中用于指示USART某些事件的状态。 USART_FLAG_RXNE (Read data register not empty): 当接收到数据接收数据寄存器非空时该标志位被置1。 这意味着至少有一个数据可以被读取。 在轮询模式下可以检查这个标志位如果置位则可以通过USART_ReceiveData()函数读取数据。 如果启用了接收中断通过USART_ITConfig(USART1, USART_IT_RXNE, ENABLE)当USART_FLAG_RXNE置位时将触发中断。 USART_FLAG_TXE (Transmit data register empty): 发送数据寄存器为空时该标志位被置1。 这表示可以将新数据写入发送数据寄存器。 在发送数据时可以检查这个标志位确保发送数据寄存器为空然后通过USART_SendData()函数发送下一个数据。 如果启用了发送中断通过USART_ITConfig(USART1, USART_IT_TXE, ENABLE)当USART_FLAG_TXE置位时将触发中断。 在实际应用中这两个标志位常常用于轮询方式或中断方式的数据发送和接收以保证USART通信的正确性和效率。  实际操作示例 #include stm32f10x.h #include stm32f10x_usart.h #include stm32f10x_gpio.h #include stm32f10x_rcc.h void USART1_Init(void); int main(void) {// 系统时钟初始化SystemInit();// 初始化USART1USART1_Init();// 主循环while(1){// 如果收到数据if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) ! RESET){// 从USART1读取数据并回显char data USART_ReceiveData(USART1);USART_SendData(USART1, data);while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) RESET);}} } void USART1_Init(void) {// 各种外设时钟使能RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);// GPIOA 9和10为TX和RX初始化GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_Pin GPIO_Pin_9; // PA9作为USART1的TXGPIO_InitStruct.GPIO_Mode GPIO_Mode_AF_PP; // 复用推挽输出GPIO_InitStruct.GPIO_Speed GPIO_Speed_50MHz;GPIO_Init(GPIOA, GPIO_InitStruct);GPIO_InitStruct.GPIO_Pin GPIO_Pin_10; // PA10作为USART1的RXGPIO_InitStruct.GPIO_Mode GPIO_Mode_IN_FLOATING; // 浮空输入GPIO_Init(GPIOA, GPIO_InitStruct);// USART1初始化设置USART_InitTypeDef USART_InitStruct; USART_InitStruct.USART_BaudRate 9600;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_Rx | USART_Mode_Tx;USART_Init(USART1, USART_InitStruct);// 使能USART1USART_Cmd(USART1, ENABLE); }
http://www.zqtcl.cn/news/476425/

相关文章:

  • 湛江市建设局网站天津网站建设渠道
  • 做图专业软件下载网站深圳营销型网站哪家好
  • 手机网站模板用什么做高端展馆展厅设计方案
  • 长春企业网站seo国土网站建设自查报告
  • 建设电动车官方网站设立深圳公司
  • 蓝奏云注册网站工程设计方案主要内容
  • 建设官方网站企业网站公司可以做网站
  • 网站销售流程中装建设集团官网
  • 动易网站无法安装网站开发广告
  • 做网站类型注册域名com和cn
  • 织梦 做网站 知乎系统优化软件推荐
  • 长沙网站制作哪家强网站后台是怎么做的
  • Linux网站开发设计做ppt网站动态
  • 西部中大建设集团网站微商代理网
  • 做网站的参考文献有哪些火车头采集 wordpress
  • 网站不备案会有什么影响最新企业名录搜索软件
  • 邯郸做网站公司哪家好优化设计四年级下册数学答案
  • wordpress企业建站模版wordpress门户网站模板
  • 网站建设时间及简介企业注册代理
  • 网站首页制作方案wordpress中常用插件安装包
  • 阿里云建立网站赤坎网站建设公司
  • 时光轴 网站小公司做网站赚钱吗
  • 手机管理网站模板乐山住房和城乡建设厅网站
  • wordpress链接样式设置方法网络seo推广培训
  • 建站系统wordpress下载企业网站建设课程体会
  • 网站资源规划怎么写wordpress怎么解绑域名
  • 建湖企业做网站多少钱网页开发工具软件
  • WordPress怎么建小站wordpress替换谷歌字体库
  • ps建设网站步骤佛山做外贸网站特色
  • 杭州做代发的网站有哪些计算机基础网站建设和网络安全