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

海南省住房城乡建设厅网站/ios微信上的pdf乱码

海南省住房城乡建设厅网站,ios微信上的pdf乱码,郴州网站建设软件定制开发制作,北京个人网站制作一、概述 本文主要介绍GPIO 作为输出时的寄存器配置。包括时钟配置,输出模式配置。以STM32F10xxx系列为例,配置PA8、PD2端口作为输出,输出高/低电平。 二、配置流程 1)GPIO外设时钟 通过查找STM32F10xxx中文参考手册得知&#xf…

一、概述

       本文主要介绍GPIO 作为输出时的寄存器配置。包括时钟配置,输出模式配置。以STM32F10xxx系列为例,配置PA8、PD2端口作为输出,输出高/低电平。

二、配置流程

        1)GPIO外设时钟

         通过查找STM32F10xxx中文参考手册得知,GPIO PORT口的时钟配置在RCC_APB2ENR寄存器的第2~6位,如下图:

使能PORTA 和 PORTD 的时钟:

RCC->APB2ENR |= 1 << 2;//enable portA clk
RCC->APB2ENR |= 1 << 5;//enable portD clk

      2) 配置GPIO模式

      PORT A的PIN 8和PORT D的PIN 2配置为通用推挽(PP)输出模式,GPIO速度配置为50MHZ。CRL寄存器配置的是PIN0~7,CRH寄存器配置的是PIN8~15。

GPIOA->CRH &= 0xFFFFFFF0;
GPIOA->CRH |= 0x3;         //GPIO PORTA PIN 8 cfg PP & output 50MHZ
GPIOD->CRL &= 0xFFFFF0FF;
GPIOD->CRL |= 0x3 << 8;    //GPIO PORTD PIN 2 cfg PP & output 50MHZ

              3)配置 IO口输出电平

              有如下几种方式:

              a)配置ODR寄存器

            

GPIOA->ODR |= 1 << 8;//GPIO PORT A PIN8 cfg output level '1'
GPIOA->ODR &= ~(1 << 8);//GPIO PORT A PIN8 cfg output level '0'GPIOD->ODR |= 1 << 2;//GPIO PORT D PIN2 cfg output level '1'
GPIOD->ODR &= ~(1 << 2);//GPIO PORT D PIN2 cfg output level '0'

              b)配置BSRR和BRR寄存器

              

              

	GPIOA->BSRR = 1 << 8;   //GPIO PORTA PIN8 cfg output level '1'GPIOA->BSRR = 1 << 24;  //GPIO PORTA PIN8 cfg output level '0'GPIOD->BSRR = 1 << 2;   //GPIO PORTD PIN2 cfg output level '1'GPIOD->BSRR = 1 << 18;  //GPIO PORTD PIN2 cfg output level '0'

             注:如果出现同时配置BR2和BS2为1即端口需要置位且需要复位,则此时置位生效,电平输出为1。

               

	GPIOA->BRR = 1 << 8;  //GPIO A PIN 8 cfg output level '0'GPIOD->BRR = 1 << 2;  //GPIO D PIN 2 cfg output level '0'

三、ODR和BSRR、BRR的区别

      ODR 可读写,相对耗时序,BSRR和BRR只能写,但不耗时序。由上可知配置PA8输出电平。

ODR寄存器,配置的时候只需配置端口8,其它bit位要保持原样。因此操作如下:

GPIOA->ODR |= 1 << 8;

读取ODR寄存器->或运算->写入

(GPIOA->ODR |= 1 << 8->GPIOA->ODR = GPIOA->ODR | (1 << 8))

而BSRR和BRR寄存器只需:

	GPIOA->BSRR = 1 << 8;GPIOA->BRR = 1 << 8;

 赋值即可,因为如下特性:

          在手册上有如下描述:

即用BSRR和BRR去改变管脚状态的时候,没有被中断打断的风险。也就不需要关闭中断。因为BSRR寄存器的操作只有一个动作赋值。

http://www.whsansanxincailiao.cn/news/30724914.html

相关文章:

  • 内力网站建设/宁波外贸网站推广优化
  • 做推送用什么网站/免费推广网站大全集合
  • 一个网站做数据维护需要多久/色盲
  • 贵阳建设公司网站/互联网公司有哪些
  • 橙色网站欣赏/太原互联网推广公司
  • 计算网站制作教程/网络优化包括
  • wordpress 发布时间/网站seo诊断报告怎么写
  • 专门做国外网站/电子商务主要学什么就业方向
  • 杭州做网站哪家好/青岛关键词排名哪家好
  • 恶搞网站怎么做/淘宝自动推广软件
  • 赤水网站建设/新seo排名点击软件
  • 商业网站怎么做/优化关键词排名推广
  • 著名网站用什么语言做后台/不花钱网站推广
  • 酒店网站的开发及其设计方案/百度推广区域代理
  • 网站实名认证功能怎么做/做网站哪家公司比较好而且不贵
  • 比较好的做网站的公司/广告投放怎么做
  • 如何自己建设简单的手机网站首页/黑马程序员培训机构在哪
  • 怎么可以自己做网站/网站排名快速提升
  • 哈尔滨做设计和网站的公司/最全bt搜索引擎
  • 漂亮的网站改版中 html代码/apple日本网站
  • 定制网站的优势/个人自己免费建网站
  • 怎样做一个免费的网站/恶意点击竞价时用的什么软件
  • 深圳海洋网络做网站/南宁seo推广外包
  • 做服装最好的网站建设/seo外包公司是啥
  • wordpress的插件下载地址/宁波seo整站优化软件
  • 杭州政府网站建设管理办法/徐汇网站建设
  • 珠海响应式网站建设推广公司/山东济南seo整站优化公司
  • 杭州市建设网站/网络推广和网站推广平台
  • wordpress 中文语言/seo包年优化
  • 公司网站如何做seo/成都网站推广公司