景泰做网站网站开发哪家便宜

张小明 2026/1/7 13:29:55
景泰做网站,网站开发哪家便宜,桂林生活网官网二手房,做公益网站赚钱吗文章目录前言1. USART1.1. 配置串口1.1.1. 配置通讯协议1.1.2. 配置串口中断1.2. 发送数据1.3. 读取数据2. 寄存器编程实验3. 总结前言 开发板为#xff1a;野火指南者#xff0c;基于STM32F103VET6分析的例程为#xff1a;指南者\1-程序源码_教程文档\2-[野火]《STM32 HAL…文章目录前言1. USART1.1. 配置串口1.1.1. 配置通讯协议1.1.2. 配置串口中断1.2. 发送数据1.3. 读取数据2. 寄存器编程实验3. 总结前言开发板为野火指南者基于STM32F103VET6分析的例程为指南者\1-程序源码_教程文档\2-[野火]《STM32 HAL库开发实战指南》(HAL库源码)\20-USART—串口通信\USART1回显1. USART1.1. 配置串口1.1.1. 配置通讯协议通过HAL库配置USART的关键函数或数据结构如下HAL_StatusTypeDefHAL_UART_Init(UART_HandleTypeDef*huart)源码位置STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_uart.c的352行HAL_StatusTypeDefHAL_UART_Init(UART_HandleTypeDef*huart){/* Check the UART handle allocation */if(huartNULL){returnHAL_ERROR;}/* Check the parameters */if(huart-Init.HwFlowCtl!UART_HWCONTROL_NONE){/* The hardware flow control is available only for USART1, USART2 and USART3 */assert_param(IS_UART_HWFLOW_INSTANCE(huart-Instance));assert_param(IS_UART_HARDWARE_FLOW_CONTROL(huart-Init.HwFlowCtl));}else{assert_param(IS_UART_INSTANCE(huart-Instance));}assert_param(IS_UART_WORD_LENGTH(huart-Init.WordLength));#ifdefined(USART_CR1_OVER8)assert_param(IS_UART_OVERSAMPLING(huart-Init.OverSampling));#endif/* USART_CR1_OVER8 */if(huart-gStateHAL_UART_STATE_RESET){/* Allocate lock resource and initialize it */huart-LockHAL_UNLOCKED;#if(USE_HAL_UART_REGISTER_CALLBACKS1)UART_InitCallbacksToDefault(huart);if(huart-MspInitCallbackNULL){huart-MspInitCallbackHAL_UART_MspInit;}/* Init the low level hardware */huart-MspInitCallback(huart);#else/* Init the low level hardware : GPIO, CLOCK */HAL_UART_MspInit(huart);#endif/* (USE_HAL_UART_REGISTER_CALLBACKS) */}huart-gStateHAL_UART_STATE_BUSY;/* Disable the peripheral */__HAL_UART_DISABLE(huart);/* Set the UART Communication parameters */UART_SetConfig(huart);/* In asynchronous mode, the following bits must be kept cleared: - LINEN and CLKEN bits in the USART_CR2 register, - SCEN, HDSEL and IREN bits in the USART_CR3 register.*/CLEAR_BIT(huart-Instance-CR2,(USART_CR2_LINEN|USART_CR2_CLKEN));CLEAR_BIT(huart-Instance-CR3,(USART_CR3_SCEN|USART_CR3_HDSEL|USART_CR3_IREN));/* Enable the peripheral */__HAL_UART_ENABLE(huart);/* Initialize the UART state */huart-ErrorCodeHAL_UART_ERROR_NONE;huart-gStateHAL_UART_STATE_READY;huart-RxStateHAL_UART_STATE_READY;returnHAL_OK;}假设我们传入的参数如下所示// DEBUG_USART ((USART_TypeDef *)USART1_BASE)// USART1_BASE (APB2PERIPH_BASE 0x00003800UL)// ((PERIPH_BASE 0x00010000UL) 0x00003800UL)// ((PERIPH_BASE 0x00010000UL) 0x00003800UL)// ((0x40000000UL 0x00010000UL) 0x00003800UL)// 0x40013800ULUartHandle.InstanceDEBUG_USART;// DEBUG_USART_BAUDRATE 115200UartHandle.Init.BaudRateDEBUG_USART_BAUDRATE;// UART_WORDLENGTH_8B 0x00000000UUartHandle.Init.WordLengthUART_WORDLENGTH_8B;// UART_STOPBITS_1 0x00000000UUartHandle.Init.StopBitsUART_STOPBITS_1;// UART_PARITY_NONE 0x00000000UUartHandle.Init.ParityUART_PARITY_NONE;// UART_HWCONTROL_NONE 0x00000000UUartHandle.Init.HwFlowCtlUART_HWCONTROL_NONE;// UART_MODE_TX_RX ((uint32_t)(USART_CR1_TE | USART_CR1_RE))// (USART_CR1_RE_Msk | USART_CR1_RE_Msk)// ((0x1UL USART_CR1_RE_Pos) | (0x1UL USART_CR1_RE_Pos))// ((0x1UL 3U) | (0x1UL 2U))UartHandle.Init.ModeUART_MODE_TX_RX;HAL_UART_Init(UartHandle);真正操作寄存器的代码为如下几行在这里插入代码片1.1.2. 配置串口中断通过HAL库配置USART中断的关键函数或数据结构如下源码位置STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h的538行#define__HAL_UART_ENABLE_IT(__HANDLE__,__INTERRUPT__)((((__INTERRUPT__)28U)UART_CR1_REG_INDEX)?((__HANDLE__)-Instance-CR1|((__INTERRUPT__)UART_IT_MASK)):\(((__INTERRUPT__)28U)UART_CR2_REG_INDEX)?((__HANDLE__)-Instance-CR2|((__INTERRUPT__)UART_IT_MASK)):\((__HANDLE__)-Instance-CR3|((__INTERRUPT__)UART_IT_MASK)))假设我们传入的参数如下所示// DEBUG_USART ((USART_TypeDef *)USART1_BASE)// USART1_BASE (APB2PERIPH_BASE 0x00003800UL)// ((PERIPH_BASE 0x00010000UL) 0x00003800UL)// ((PERIPH_BASE 0x00010000UL) 0x00003800UL)// ((0x40000000UL 0x00010000UL) 0x00003800UL)// 0x40013800ULUartHandle.InstanceDEBUG_USART;// DEBUG_USART_BAUDRATE 115200UartHandle.Init.BaudRateDEBUG_USART_BAUDRATE;// UART_WORDLENGTH_8B 0x00000000UUartHandle.Init.WordLengthUART_WORDLENGTH_8B;// UART_STOPBITS_1 0x00000000UUartHandle.Init.StopBitsUART_STOPBITS_1;// UART_PARITY_NONE 0x00000000UUartHandle.Init.ParityUART_PARITY_NONE;// UART_HWCONTROL_NONE 0x00000000UUartHandle.Init.HwFlowCtlUART_HWCONTROL_NONE;// UART_MODE_TX_RX ((uint32_t)(USART_CR1_TE | USART_CR1_RE))// (USART_CR1_RE_Msk | USART_CR1_RE_Msk)// ((0x1UL USART_CR1_RE_Pos) | (0x1UL USART_CR1_RE_Pos))// ((0x1UL 3U) | (0x1UL 2U))UartHandle.Init.ModeUART_MODE_TX_RX;// UART_IT_RXNE ((uint32_t)(UART_CR1_REG_INDEX 28U | USART_CR1_RXNEIE))// ((uint32_t)(1U 28U | (0x1UL USART_CR1_RXNEIE_Pos)))// ((uint32_t)(1U 28U | (0x1UL 5U)))__HAL_UART_ENABLE_IT(UartHandle,UART_IT_RXNE);1.2. 发送数据1.3. 读取数据2. 寄存器编程实验3. 总结
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站正能量晚上下载直接进入好看的html网页

Dify镜像在混合云架构下的部署可行性论证 在企业加速推进AI原生应用建设的今天,一个现实挑战日益凸显:如何在保障数据安全合规的前提下,快速构建并规模化落地大模型应用?尤其是在金融、医疗、制造等对数据敏感性要求极高的行业&am…

张小明 2026/1/1 0:44:38 网站建设

不会编程能做网站吗网站备案相关前置许可

想要永久收藏抖音上的精彩视频,却苦于水印和画质问题?douyin_downloader开源工具为您提供完美的解决方案,让您轻松实现抖音视频的无水印高清下载体验。 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:…

张小明 2026/1/1 0:44:35 网站建设

福田大型商城网站建设网站超市安装

在全球化与数字化深度融合的今天,软件产品的开发与测试不再局限于单一地域。跨地域测试管理已成为许多企业应对国际市场和分布式团队的必然选择。对于软件测试从业者而言,这不仅意味着技术层面的协调,更涉及文化、流程和工具的整合。本文将从…

张小明 2026/1/3 4:30:08 网站建设

天津做胎儿鉴定网站网页版微信不能登录的原因

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个基于MeiliSearch的智能搜索系统原型,集成NLP模型实现以下功能:1. 自动从文档中提取关键词和实体 2. 支持自然语言查询的语义搜索 3. 根据用户历史搜…

张小明 2026/1/1 2:03:48 网站建设

审计实务网站建设论文创意网名女

目录 一、面试范式的革命:从手写代码到AI协作 二、认识Vibe Coding:AI时代面试的新常态 2.1 Vibe Coding的本质与起源 2.2 为何Vibe Coding面试成为趋势 2.3 三种主流面试形式分析 三、Vibe Coding面试的决胜点:为何算法思维反而更重要…

张小明 2026/1/1 2:03:46 网站建设

node.js网站开发框架网站最新点击量排名

虚拟手柄驱动核心技术解析:从内核模拟到应用实践 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 在游戏外设兼容性领域,一个看似简单的问题困扰着无数玩家和开发者:如何让非标准手柄在Windows系统…

张小明 2026/1/1 2:03:44 网站建设