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

商丘手机网站建设看过的网站做记号

商丘手机网站建设,看过的网站做记号,杭州做公司官网的公司,万网域名注册查询网#x1f4ca; ​一、核心寄存器概览​ ​寄存器​​功能​​位宽​​关键位域​​USART_SR​状态寄存器#xff08;只读#xff09;32位RXNE(接收就绪)、TC(发送完成)、TXE(发送寄存器空)、ORE(溢出错误)​USART_DR​数据寄存器#xff08;读写#xff09;32位低9位有效 ​一、核心寄存器概览​ ​寄存器​​功能​​位宽​​关键位域​​USART_SR​状态寄存器只读32位RXNE(接收就绪)、TC(发送完成)、TXE(发送寄存器空)、ORE(溢出错误)​USART_DR​数据寄存器读写32位低9位有效存储发送/接收的数据实际用8位​USART_BRR​波特率寄存器32位DIV_Mantissa(整数部分)  DIV_Fraction(小数部分)控制通信速率​USART_CR1​控制寄存器132位UE(使能)、TE(发送使能)、RE(接收使能)、M(字长)、PCE(校验使能)​USART_CR2​控制寄存器232位STOP(停止位长度)、LINEN(LIN模式)、CLKEN(时钟使能)​USART_CR3​控制寄存器332位DMAT(DMA发送使能)、DMAR(DMA接收使能)、RTSE(RTS流控)、CTSE(CTS流控) ⚠️ ​注意​ 所有寄存器必须按32位字访问禁止半字/字节操作操作前需使能时钟​RCC_APBxPeriphClockCmd()否则配置无效。 ⚙️ ​二、寄存器详解与配置方法​ 1. ​状态寄存器USART_SR​​ ​关键位​ RXNE(位5)接收数据就绪读DR自动清除TXE(位7)发送寄存器空写DR自动清除TC(位6)发送完成读SR后写DR清除 // 发送前检测TXE while (!(USART1-SR USART_SR_TXE)); // 等待发送寄存器空 USART1-DR data; // 写入数据 2. ​波特率寄存器USART_BRR​​ ​计算公式​ BRR波特率×16fclk​​ 整数部分存于DIV_Mantissa[15:4]小数部分存于DIV_Fraction[3:0] // 设置115200波特率系统时钟72MHz USART1-BRR (72000000 / (115200 * 16)); // 计算结果39.0625 → BRR0x0273 3. ​控制寄存器1USART_CR1​​ ​位​​名称​​功能​13UE使能USART1使能0关闭12M字长08位19位10PCE校验使能1启用奇偶校验3TE发送使能1开启TX2RE接收使能1开启RX // 使能8位数据、无校验、收发模式 USART1-CR1 | USART_CR1_UE | USART_CR1_TE | USART_CR1_RE; 4. ​控制寄存器2USART_CR2​​ ​停止位控制​ STOP[13:12]001位停止位010.5位102位111.5位 // 设置1位停止位 USART1-CR2 ~USART_CR2_STOP; // 清零STOP位 5. ​控制寄存器3USART_CR3​​ ​高级功能​ DMAT(位7)DMA发送使能DMAR(位6)DMA接收使能RTSE(位8)RTS硬件流控使能 // 启用DMA接收 USART1-CR3 | USART_CR3_DMAR; ​三、完整配置流程寄存器版​​ 步骤1使能时钟 RCC-APB2ENR | RCC_APB2Periph_USART1; // USART1时钟使能APB2总线 RCC-APB2ENR | RCC_APB2Periph_GPIOA; // GPIOA时钟使能 步骤2配置GPIO为复用模式 // PA9(TX)复用推挽输出 GPIOA-CRH ~(0xF 4); // 清除PA9配置 GPIOA-CRH | (0xB 4); // 50MHz复用推挽CNF10, MODE11// PA10(RX)浮空输入 GPIOA-CRH ~(0xF 8); GPIOA-CRH | (0x4 8); // 浮空输入CNF01, MODE00 步骤3设置波特率与帧格式 USART1-BRR 0x0273; // 72MHz下115200波特率 USART1-CR1 ~USART_CR1_M; // 8位数据 USART1-CR2 ~USART_CR2_STOP; // 1位停止位 USART1-CR1 ~USART_CR1_PCE; // 无校验 步骤4使能收发与USART USART1-CR1 | USART_CR1_TE | USART_CR1_RE; // 使能发送和接收 USART1-CR1 | USART_CR1_UE; // 使能USART 步骤5可选中断配置 USART1-CR1 | USART_CR1_RXNEIE; // 接收中断使能 NVIC-ISER[0] | (1 USART1_IRQn); // 使能NVIC中断 ​四、数据收发实战代码​ 1. ​阻塞式发送函数​ void USART_SendChar(uint8_t ch) {while (!(USART1-SR USART_SR_TXE)); // 等待发送寄存器空USART1-DR ch; // 写入数据while (!(USART1-SR USART_SR_TC)); // 等待发送完成 } 2. ​中断接收服务函数​ void USART1_IRQHandler(void) {if (USART1-SR USART_SR_RXNE) { // 检查接收中断标志uint8_t data USART1-DR; // 读取数据自动清除RXNE// 处理接收到的数据...} } ⚠️ ​五、关键注意事项​ ​时钟一致性​ USART1挂载APB2最高72MHzUSART2/3挂载APB1最高36MHzBRR计算需根据实际总线频率调整。 ​中断标志清除​ RXNE读DR自动清除TC需读SR 写DR序列清除 ​9位数据模式​ 启用USART_CR1_M后DR需按16位操作 uint16_t data USART1-DR 0x1FF; // 读取9位数据 ​硬件流控​ 启用USART_CR3_RTSE/CTSE时需连接CTS/RTS引脚。 ​六、调试技巧​ ​状态寄存器诊断​ if (USART1-SR USART_SR_ORE) { // 检测溢出错误USART1-SR ~USART_SR_ORE; // 写1清除错误标志 } ​波特率验证​ 用示波器测量TX引脚波形计算实际波特率 实际波特率1/位周期 通过直接操作寄存器串口通信延迟可降至1μs以内比库函数快3-5倍适用于电机控制、高速传感器等实时场景
http://www.w-s-a.com/news/60131/

相关文章:

  • 获取网站全站代码申请免费域名的方法
  • 网站制作建设公司哪家好wordpress仪表盘打不开
  • 最佳网站制作模板用手机能创建网站吗
  • 只做黑白摄影的网站网站建设好后给领导作介绍
  • 移动手机网站建设如何做网站地图视频
  • 手工业网站怎么做成都酒吧设计公司
  • .net 网站生成安装文件目录重庆网站建设沛宣网络
  • 怎么做钓鱼网站吗百度免费域名注册网站
  • 如何给网站做外部优化今年国内重大新闻
  • 有没有做生物科技相关的网站弄一个app大概多少钱
  • 五金加工东莞网站建设怎么做网页跳转
  • 淄博网站优化价格wordpress没有小工具
  • 自己搭建服务器做视频网站wordpress发布文章 发布
  • php仿博客园网站阅读分享网站模板
  • 网站宣传的劣势域名注册长沙有限公司
  • 怎样联系自己建设网站企业怎样做好网站建设
  • 网站制作需求分析电商网站建设浩森宇特
  • 淄博网站建设招聘摄影网站建设的论文
  • 怎么把凡科网里做的网站保存成文件网站建设研究的意义
  • 服务器2003怎么做网站网站建设服务器的配置
  • 高校网站建设方案网站推广软件下载安装免费
  • 重庆没建网站的企业网站开发软件 连接SQL数据库
  • 百度申诉网站沉默是金
  • 如何自己建网站wordpress图片延时加载
  • 甘肃省住房和城乡建设厅注册中心网站千博企业网站管理系统2013
  • 西餐厅网站模板seo搜索引擎优化ppt
  • 什么做的网站吗wordpress注册可见插件
  • 献县做网站价格可以提升自己的网站
  • 如何修改网站title建设网站只能是公司
  • 网站推广效果怎么样建设工程公司组织架构图