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

网站维护要求网站开发工作描述

网站维护要求,网站开发工作描述,网站正在建设中 html 模板,广告平面设计师的工作内容首先我们先看STM32F103C8T6的电路图 由图可知#xff0c;其PA9和PA10引脚分别为UART的TX和RX(注意#xff1a;这个电路图是错误的#xff0c;应该是PA9是X而PA9是RX#xff0c;我们看下图的官方文件可以看出)#xff0c;那么接下来我们应该找到该引脚的定义是什么#xf…        首先我们先看STM32F103C8T6的电路图 由图可知其PA9和PA10引脚分别为UART的TX和RX(注意这个电路图是错误的应该是PA9是X而PA9是RX我们看下图的官方文件可以看出)那么接下来我们应该找到该引脚的定义是什么请参考STM32F103Cx手册找到pin definitions。 STM32系列集成了很多个UART接口如UART1、UART2等每个都可以独立配置和使用来与其他设备进行通信。UART1只是这些可用UART接口中的一个实例。 可以看到PA9和PA10使用的是UART1配置外设第一件事情就是找所对应的时钟因此接下来是根据接口来找对应的时钟。还是在手册中查找performance line block diagram如下图 由图可知USART1挂载在APB2总线上因此如果我们需要该接口则需要使能该时钟。根据STM32标准库手册找到使能时钟所需的函数。 代码如下 void Uart1_Configuration(void) {GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1, ENABLE);// 配置PA9作为TX使用的是复用推挽输出GPIO_InitStructure.GPIO_Pin GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP;GPIO_Init(GPIOA, GPIO_InitStructure);// 配置PA10作为RX使用的是浮空输入因为可能输入高电平也可能输入低电平GPIO_InitStructure.GPIO_Pin GPIO_Pin_10;GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, GPIO_InitStructure);// 配置UARTUSART_InitStructure.USART_BaudRate 115200;USART_InitStructure.USART_WordLength USART_WordLength_8b; // 数据位长度USART_InitStructure.USART_StopBits USART_StopBits_1;USART_InitStructure.USART_Parity USART_Parity_No;USART_InitStructure.USART_HardwareFlowControl USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode USART_Mode_Tx | USART_Mode_Rx;USART_Init(USART1, USART_InitStructure);USART_Cmd(USART1, ENABLE); } 配置好端口后那么就应该发送数据了同样的发送数据也应该去标准库函数中找相应的函数。需要提醒的我们主要是使用printf函数来测试uart接口的功能, 而printf函数的标准输出设备是显示屏因此需要将输出重定向到uart口上而不是显示屏上就需要重写printf但是prinft只是一个函数宏实际靠的还是fputc所以总的来说还是要重写fputc。 代码如下: // 输出从标准输出设备重定向到UART, 函数原型是int fputc (int c, FILE *fp)而不是int fputc (char c, File *fp) // printf函数的一个个字符输出到UART int fputc (int c, FILE *fp) {while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) ! SET); // TXE Transmit Data Register EmptyUSART_SendData(USART1, c);while(USART_GetFlagStatus(USART1, USART_FLAG_TC) ! SET); // TC Transmission Completereturn 0; }配置好uart口以及进行输出重定向后只要调用就可以实现printf输出到uart口了。 #include bsp_SysTick.h #include bsp_uart.hint main(void) {int i 0;SysTick_Configuration();Uart1_Configuration();while(1){printf(Hello world\n);printf(i %d\n, i);Delay_us(1000000); // 等待1秒该函数是通过cortex的SysTick来编写的这里的主要作用就只是延迟而已} } 需要特别注意的是如果你使用调试器进行Download也就是下图这个东西那么使用的将是半主机模式。 下面简单介绍什么是半主机模式 启用半主机模式 单片机上的程序遇到I/O调用时(比如printf)会通过调试接口将这些请求转发给宿主机上的调试器处理。 关闭半主机模式 单片机上的程序必须自己处理所有的I/O操作或者通过预定义的硬件接口与其他设备通信。 因此我们如果使用调试器或者叫做仿真器进行测试调试代码的话想要有数据从单片机的uart口输出那么我们应该关闭半主机模式。 如何关闭 这样应该就可以解决串口助手看不到数据的问题了。
http://www.hkea.cn/news/14407454/

相关文章:

  • 仿站小工具wordpress网站推广公司
  • 做网站用那一种语言最好品牌网站制作报价表
  • 问卷调查网站哪个好自己电脑做服务器上传网站 需要备案吗
  • 公众号平台登陆入口seo在线教程
  • 天津营销网站建设公司排名wordpress 获取评论
  • 南平建设集团网站经常访问的网站来打不开
  • 东莞企业网站制作怎么做自己如何创立网站
  • 新公司的公司简介怎么写南宁百度推广排名优化
  • 一个虚拟主机空间挂两个网站多语言网站建设公司
  • 网站该怎么做链接外贸营销邮件主题一般怎么写
  • 微信营销软件功能郑州seo优化服务
  • 网站html5自适应wordpress apache 配置
  • 网站产品使用说明书怎么做设计公司企业价值观
  • 做设计有必要买素材网站会员吗网站优化排名查询
  • 百度推广是必须先做网站吗郑州加盟网站建设
  • 重庆网站建设技术支持重庆互联网源码网站开发
  • wordpress 文章 相册个人网站seo
  • 网站改成自适应桐城住房和城乡建设局网站
  • 做外贸方面的网站汕头市城市建设开发总公司
  • 博敏网站建设网站评论源码
  • 做网站与做网页的区别找人做网站应该注意哪些
  • 服务器怎么设置ip做网站seo零基础入门教程
  • 北京 手机网站建设炫酷的html5网站
  • 上海网站开发团队专注网站建设16年
  • 淄博网站建设hiddd代做作业网站
  • 如何做自己的淘宝优惠券网站温州seo排名
  • 深圳企业建站高性价比的选择谷歌seo需要做什么的
  • 运城哪里做网站如何查询百度搜索关键词排名
  • 个人网站的制作步骤网页版qq可以聊天吗
  • 昆山建设工程交易网站什么网站能免费做公众号封面