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

浦江网站建设微信开发网页设计入门教学视频

浦江网站建设微信开发,网页设计入门教学视频,文成做网站,说说seo论坛一、概述 本文主要介绍如何配置USART#xff0c;并通过USART打印验证结果。以stm32f10为例#xff0c;将PA9、PA10复用为USART功能#xff0c;使用HSE PLL输出72MHZ时钟 APB2 clk不分频提供配置9600波特率。波特率计算公式如下#xff1a; fck即为APB2 clk参考计算#xf… 一、概述 本文主要介绍如何配置USART并通过USART打印验证结果。以stm32f10为例将PA9、PA10复用为USART功能使用HSE PLL输出72MHZ时钟 APB2 clk不分频提供配置9600波特率。波特率计算公式如下 fck即为APB2 clk参考计算 硬件图 二、配置流程 1配置系统时钟输出72MHZ 参考上文STM32 寄存器配置笔记——系统时钟配置 HSE as PLL 2计算USARTDIV USARTDIV fck / 波特率 * 16 temp (float)(pclk2 * 1000000) / (bound * 16); // cal USARTDIV 3获取整数部分和小数部分 获取整数和小数部分以及要写进BRR波特率寄存器的值。 mantissa temp; // get mantissafraction (temp - mantissa) * 16; // get fractionuart_brr (mantissa 4) | fraction; 4 使能时钟 使能端口A时钟和USART1时钟。 RCC-APB2ENR | 1 2; // enable portA clkRCC-APB2ENR | 1 14; // enable USART1 clk 5配置GPIO复用功能 参考手册配置TX、RX的复用功能。 GPIOA-CRH 0xFFFFF00F; // reset portA pin9¡¢10 cfg GPIOA-CRH | 0x4B0; // pin9 - UART1_TX pp af output pin10 - UART1_RX float input 6复位USART状态 此处在开启USART前复位一下USART状态保证USART能够彻底初始化。复位完后需要停止复位避免USART不停复位 RCC-APB2RSTR | 1 14; // reset USART1RCC-APB2RSTR ~(1 14); // stop reset USART1 7配置波特率使能USART1 USART1-BRR uart_brr; // set bound param USART1-CR1 | 0x200C; // enable usart 8bit data no parity enable tx rx 三、源码 整个代码调用情况如下 void uart_init(u32 pclk2,u32 bound) { float temp;u16 mantissa;u16 fraction;u16 uart_brr;temp (float)(pclk2 * 1000000) / (bound * 16); // cal USARTDIVmantissa temp; // get mantissafraction (temp - mantissa) * 16; // get fractionuart_brr (mantissa 4) | fraction;RCC-APB2ENR | 1 2; // enable portA clkRCC-APB2ENR | 1 14; // enable USART1 clkGPIOA-CRH 0xFFFFF00F; // reset portA pin9¡¢10 cfgGPIOA-CRH | 0x4B0; // pin9 - UART1_TX pp af output pin10 - UART1_RX float inputRCC-APB2RSTR | 1 14; // reset USART1RCC-APB2RSTR ~(1 14); // stop reset USART1USART1-BRR uart_brr; // set bound param USART1-CR1 | 0x200C; // enable usart 8bit data no parity enable tx rx } 在USART1配置完成后将PA9、PA10接TTL转USB串口设备在主循环一直打印内容验证是否配置成功。 在使用printf前需要做映射 //加入以下代码支持printf函数而不需要选择use MicroLIB #if 1 #pragma import(__use_no_semihosting) //标准库需要支持的函数 struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file handling */ /* is required. */ }; /* FILE is typedef¡¯ d in stdio.h. */ FILE __stdout; //定义 _sys_exit以避免使用半主机模式 void _sys_exit(int x) { x x; } //重定向fputc函数 //printf的输出指向fputc, 由fputc输出到串口 //这里使用USART1输出printf信息 int fputc(int ch, FILE *f) { while((USART1-SR0X40)0);//等待上一次串口数据发送完成USART1-DR (u8) ch; //写DR串口1将发送数据return ch; } #endif
http://www.hkea.cn/news/14563073/

相关文章:

  • 旅游网站建设规划方案平面设计公司名字大全
  • 制作网站需要学什么成都网站优化页面
  • 河南建设网站客户说做网站没效果怎么回答好
  • 做游戏的网站有哪些黄骅市第五中学
  • 百度收录提交网站后多久收录搭建网站吧
  • 普陀区建设局网站网站备案有什么作用
  • 建网站要多少钱 优帮云html5自适应网站模版
  • wordpress编辑器添加短代码按钮广东网站seo策划
  • 可以把网站建设在云主机上吗设计公司介绍
  • 网站自己推广网站建设服务合同模板
  • 介绍几个免费的网站网站宣传文案有哪些
  • 常德网站建设策划方案政务网站群建设需求调研表
  • 中国的网站域名电商推广方式有哪些
  • 余志国外贸网站建设做彩票网站收费标准
  • 建站公司售后服务珠海网站建设 超凡科技
  • 网站建设都会用到哪些建站工具ip代理提取网站源码
  • windows网站模板seo网站提交
  • 不用ftp做网站如何做网站霸屏
  • 个人做网站哪种类型的网站好网站流量不够
  • 网站开发公司怎么能接到单子ccd设计公司官网
  • iis怎么建网站扬州有什么做网站的公司
  • xp怎么建设网站简单手机网站开发软件
  • 公司建设网站申请网站建设案例单招网
  • 搭建自己的博客网站网站建设初期
  • 手机做任务的网站有哪些网站建设维修服务流程
  • wordpress静态nginx规则六安网站关键词排名优化地址
  • 太原网站建设公司怎么样英文网站收录提交
  • 兰山网站建设程序外包接单
  • 做网站用vs还是dwWordPress验证问题
  • 做网站 插件网站建设中怎么回事