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

把自己做的网页变成网站网页qq家园

把自己做的网页变成网站,网页qq家园,北京公司减资流程,网站开发项目流程设计目录 需求IO口的复用和重映射使用复用复用加重映射 总结参考资料 需求 一开始使用stm32c8t6#xff0c;想实现pwm输出#xff0c;但是原电路固定在芯片的引脚PB10和PB11上#xff0c;查看了下引脚的功能#xff0c;需要使用到复用功能。让改引脚作为定时器PWM的输出IO口。… 目录 需求IO口的复用和重映射使用复用复用加重映射 总结参考资料 需求 一开始使用stm32c8t6想实现pwm输出但是原电路固定在芯片的引脚PB10和PB11上查看了下引脚的功能需要使用到复用功能。让改引脚作为定时器PWM的输出IO口。 IO口的复用和重映射 IO口使用可分为两种情况 1.正常功能。正常使用开启GPIO时钟使用。 2.复用功能。使用复用功能将改IO引脚作为另外的ADC、PWM定时器等引脚使用。 复用功能有可以分为三种情况没有重映射、部分重映射、完全重映射。 复用功能的使用的目的是为了在有限的引脚的情况下可以充分的使用各种外设定时器、串口等等。 总之就是在复用的情况下原来的引脚可以作为另一种功能的引脚使用。 重映射就是在复用情况下 可以把一些复用功能重新映射到其他一些引脚上也就是充当另一个外设功能引脚使用。当然重映射也不是随便映射的是芯片设计好的时候就已经固定了stm32的重映射可以查看《《STM32 中文参考手册》的P116页8.3通用和复用功能。 而复用重映射的目的都是为了能充分利用有限的引脚资源去实现更多的外设功能。 通过初步查看数据手册发现PB10和PB11两个引脚如下图所示可以发现默认复用的时候可以作为IIC或者usart3使用而在重定义功能完全重映射说法不同的情况下 可以作为定时器2的通道3和通道4使用。 使用 复用 首先介绍复用功能的使用复用功能使用比较简单开启复用时钟即可。 查看手册可以看到复用开启没有开启重映像的时候就是串口3. //开启io口时钟和定时器时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); //USART1_TX PB10 复用推挽输出 GPIO_InitStructure.GPIO_Pin GPIO_Pin_10; //PB10 GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; //复用推挽输出 GPIO_Init(GPIOB, GPIO_InitStructure); //USART1_RX PB11 浮空输入 GPIO_InitStructure.GPIO_Pin GPIO_Pin_11;//PB11 GPIO_InitStructure.GPIO_Mode GPIO_Mode_IN_FLOATING;//浮空输入 GPIO_Init(GPIOB, GPIO_InitStructure);这样PB10和PB11就可以当串口3进行正常使用了。 复用加重映射 由于我需要使用定时器2通道3实现PWM输出。所以需要用到重映射。 由上图可以看到定时器2通道3的部分重映射和完全重映射都是同一个引脚也就是实现的效果是一样的。 对于定时器2通道2部分重映射和完全重映射就是不同的引脚了。 所谓部分重映射就是部分管脚和默认的是一样的而部分管脚是重新映射到其他管脚。而完全重 映射就是所有管脚都重新映射到其他管脚。 首先复用肯定需要使能IO口和复用时钟。 //开启io口时钟和定时器2时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); //开启复用时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启重映射 //void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState); GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, ENABLE); //对PB10进行初始化 GPIO_InitStructure.GPIO_Pin GPIO_Pin_10; // GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_PP; //复用推挽输出 GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_Init(GPIOB, GPIO_InitStructure);其中核心就是重映射函数GPIO_PinRemapConfig第一个参数为重映射引脚选择另一个为使能参数。 可以在文件“ stm32f10x_gpio.h”中看到定义的宏定义中关于定时器2的三个重映射定义分别和芯片手册中提到的三种重映射相对应对于定时器2通道2分别是部分重映射1–GPIO_PartialRemap1_TIM2也就是重映射到PB3部分重映射2–GPIO_PartialRemap2_TIM2重映射到PA1完全重映射–GPIO_FullRemap_TIM2重映射到PB3。 而对于通道3部分重映射2和完全重映射都是相同的也就是这两个效果会相同当然在不考虑其他引脚的影响下。这样我们就将定时器2通道3引脚映射到PB10下但是在实际使用的时候发现失败了,没有达到想要的效果目前来看的原因是我用的C8T6是36脚的封装而手册重映射下面提到重映像不适用于 36 脚的封装。 所以在使用的过程中一定要参考芯片手册同时也要注意看注意事项小容量小芯片可能大多数重映射功能都没法使用。 总结 复用和重映射的使用其实在库函数开发中就是两个函数的调用但是需要注意的是需要去查看手册复用的引脚是对应是哪个IO口重映射对应的引脚是哪个查阅好手册确保芯片有重映射功能就可以使用了。以上就是全部内容了欢迎大家在评论区留言。 参考资料 stm32F103芯片手册和参考手册如下 链接https://pan.baidu.com/s/1v0S3ntMrII0HZsdbladByg?pwdz6o1 提取码z6o1
http://www.sczhlp.com/news/159951/

相关文章:

  • 如何搭建钓鱼网站怎么查网站是否被k
  • 建设网站要花多少钱wordpress php注释
  • 做羞羞的事情的网站北京公司注册代理公司
  • 怎么查看网站是asp还是phpwordpress文章找不到
  • 触屏网站建设杭州网站建设杭州手机网站建设
  • 合肥品牌网站黑龙江省城乡建设厅网站
  • 建设自有网站需要什么wordpress 本机安装
  • glazewm_windows平铺窗口管理器使用方法
  • 树莓派搭建NAS之三:使用OpenList挂载网盘
  • sg-ss 逆向分析
  • 淮北网站建设制作庆阳网站设计报价
  • wordpress适应大数据什么是网站关键字优化
  • 做网站源码流程wordpress文章字数
  • 汽车行业网站建设广元网站建设
  • 杭州做营销型网站网页设计素材怎么保存到文件夹
  • 怎么开设网站 优帮云外贸seo
  • 全球速卖通大学seo推广论坛
  • django做的网站东莞网站模板
  • 南宁网站制作计划免费的黄冈网站有哪些平台呢永久久
  • 乐都企业网站建设公司海南医院网站建设
  • vue做普通网站页面跳转seo新闻
  • 莆田网站开发公司电话信阳网站建设培训
  • 客户网站建设确认书北京网站建设的公司
  • 公司网站上传图库网站你懂我意思正能量晚上不用下载直接进入
  • 河北远策网站建设教学成果奖网站建设
  • 中国最厉害的网站建设公司天猫网站网址
  • 网站管理人员队伍建设说明材料杭州做搜索引擎网站的公司
  • wordpress如何把网站语言改成英文现在的报税网站怎么做更正申报
  • 帮企网站建设代运营网页制作软件app免费
  • 网站logo 更换缔烨建设公司网站