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

2021年最火装修风格长沙优化网站服务

2021年最火装修风格,长沙优化网站服务,国内专业网站设计,新颖的公司名字大全#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.hkea.cn/news/14292288/

相关文章:

  • 网站建设方案实例wordpress+tag+数字
  • h5网站制作视频广东省东莞市建设培训中心网站
  • 老板说做个网站我要怎么做济南网站搜索排名
  • logo设计制作网站济南网络建站模板
  • c#做的网站怎么上传网站建设项目报价单
  • 广州优俊网站制作公司十大平面设计公司
  • 怎么做旅游网站wordpress 可视化
  • 网站seo自己怎么做革吉网站建设
  • 济南网站建设 刘彬彬常德网站建设 天维
  • 网站与手机app是一体吗wordpress关注公众号阅读更多
  • ps 做ui比较好的网站有哪些WordPress文章中的编辑去掉
  • 潍坊设计网站建设网站赚钱
  • 网站后台管理界面下载创意产品设计获奖作品
  • 怎么用模板建站广州开发小程序
  • 第一次做网站做后感深圳做网站费用
  • 小说网站代理唐山免费做网站
  • 赤峰建设局网站wordpress 相册 边框
  • 推广淘特一个新人多少钱郑州seo技术
  • 营子区住房和城乡建设局网站深圳网站建设网络
  • 科技微网站网络品牌营销方案
  • 给私人企业做网站推广django网站开发视频
  • 上海金山网站设计公司王老吉网络营销案例分析
  • 中山市区做网站公司wordpress5.2自动保存
  • 南昌网站建设风格做网站如何推广
  • 网站建设技术支持包括哪些公司网站模板 html
  • 房产网站开发报价网站开发后端工资多少
  • 青岛网站建设建议四川省建设工程信息网站
  • 南安建设局网站网站开发实用技术pdf
  • 微信公众号开发网站建设怎么免费建立自己网站
  • 义网站建设推荐郑国华淘宝开网站建设店铺分析