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

北京做网站哪个好东坑东莞网站建设

北京做网站哪个好,东坑东莞网站建设,wordpress网页如何上传下载,互联网博客网站一.库函数版 1.硬件连接 #xff27;#xff30;#xff29;#xff2f;的输出方式#xff1a;推挽输出 #xff29;#xff2f;口输出为高电平时#xff0c;P-MOS置高#xff0c;输出为#xff11;#xff0c;LED对应引脚处为高电平#xff0c;而二极管正#… 一.库函数版 1.硬件连接 的输出方式推挽输出 口输出为高电平时P-MOS置高输出为LED对应引脚处为高电平而二极管正极被电阻拉高两端都为高电平LED灭 IO输出为低电平同理 2.GPIO库函数说明 操作IO口必须引入源文件和头文件 1初始化函数 1.简要 初始化模式 同时也控制BRR上下拉最终控制ODR寄存器 2.初始化函数详细说明 第一个参数作用选择是哪一个IO口GPIOA GPIO_TypeDef* GPIOx 对应的结构体类型 第二个参数作用对参数进行初始化 GPIO_InitTypeDef* GPIO_InitStruct GPIO_Pin指定要配置的GPIO引脚。该参数可以是ref GPIO_pins_define的任意值 typedef struct {uint16_t GPIO_Pin; /*! Specifies the GPIO pins to be configured.This parameter can be any value of ref GPIO_pins_define */GPIOSpeed_TypeDef GPIO_Speed; /*! Specifies the speed for the selected pins.This parameter can be a value of ref GPIOSpeed_TypeDef */GPIOMode_TypeDef GPIO_Mode; /*! Specifies the operating mode for the selected pins.This parameter can be a value of ref GPIOMode_TypeDef */ }GPIO_InitTypeDef; 3.示例 进行宏定义 #define GPIO_Pin_0 ((uint16_t)0x0001) /*! Pin 0 selected */ #define GPIO_Pin_1 ((uint16_t)0x0002) /*! Pin 1 selected */ #define GPIO_Pin_2 ((uint16_t)0x0004) /*! Pin 2 selected */ #define GPIO_Pin_3 ((uint16_t)0x0008) /*! Pin 3 selected */ #define GPIO_Pin_4 ((uint16_t)0x0010) /*! Pin 4 selected */ #define GPIO_Pin_5 ((uint16_t)0x0020) /*! Pin 5 selected */ #define GPIO_Pin_6 ((uint16_t)0x0040) /*! Pin 6 selected */ #define GPIO_Pin_7 ((uint16_t)0x0080) /*! Pin 7 selected */ #define GPIO_Pin_8 ((uint16_t)0x0100) /*! Pin 8 selected */ #define GPIO_Pin_9 ((uint16_t)0x0200) /*! Pin 9 selected */ #define GPIO_Pin_10 ((uint16_t)0x0400) /*! Pin 10 selected */ #define GPIO_Pin_11 ((uint16_t)0x0800) /*! Pin 11 selected */ #define GPIO_Pin_12 ((uint16_t)0x1000) /*! Pin 12 selected */ #define GPIO_Pin_13 ((uint16_t)0x2000) /*! Pin 13 selected */ #define GPIO_Pin_14 ((uint16_t)0x4000) /*! Pin 14 selected */ #define GPIO_Pin_15 ((uint16_t)0x8000) /*! Pin 15 selected */ #define GPIO_Pin_All ((uint16_t)0xFFFF) /*! All pins selected */定义了枚举类型 typedef enum { GPIO_Speed_10MHz 1,GPIO_Speed_2MHz, GPIO_Speed_50MHz }GPIOSpeed_TypeDef; typedef enum { GPIO_Mode_AIN 0x0,模拟输入模式GPIO_Mode_IN_FLOATING 0x04,浮空输入模式(复位后的状态)GPIO_Mode_IPD 0x28,上拉/下拉输入模式GPIO_Mode_IPU 0x48,保留GPIO_Mode_Out_OD 0x14,通用开漏输出模式GPIO_Mode_Out_PP 0x10,通用推挽输出模式GPIO_Mode_AF_OD 0x1C,复用功能开漏输出模式GPIO_Mode_AF_PP 0x18复用功能推挽输出模式 }GPIOMode_TypeDef2其余函数 问题查看函数定义时报错 解决 之后就可以成功转到定义了 3.代码实现 操作IO口之前必须使能对应的时钟位 第一个参数 void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState) {/* Check the parameters */assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph));assert_param(IS_FUNCTIONAL_STATE(NewState));if (NewState ! DISABLE){RCC-APB2ENR | RCC_APB2Periph;}else{RCC-APB2ENR ~RCC_APB2Periph;} } 第二个参数 #define IS_FUNCTIONAL_STATE(STATE) (((STATE) DISABLE不使能) || ((STATE) ENABLE使能))(1)创建HAREWARE文件led.c,led.h 注为避免重复调用头文件通过预编译的方式判断是否已经定义了一个唯一的标识符所以这个标识符的命名是不重要的 头文件要对MDK添加路径 注 (2)led文件编写 h #ifndef __LED_H_ #define __LED_H_ void LED_Init(void);#endifc //#include led.h #include stm32f10x.h void LED_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOB时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能GPIOB时钟GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;/*初始化PA_8*/GPIO_InitStructure.GPIO_PinGPIO_Pin_8;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_8);//PA_8输出高电平GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;/*初始化PD_2*/GPIO_InitStructure.GPIO_PinGPIO_Pin_2;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOD,GPIO_InitStructure);GPIO_SetBits(GPIOD,GPIO_Pin_2);//PD_2输出高电平 }(3)main文件编写 #include stm32f10x.h #include led.h #include delay.h int main() {delay_init();LED_Init();while(1){GPIO_SetBits(GPIOA,GPIO_Pin_8);GPIO_SetBits(GPIOD,GPIO_Pin_2);delay_ms(300);GPIO_ResetBits(GPIOA,GPIO_Pin_8);GPIO_ResetBits(GPIOD,GPIO_Pin_2);delay_ms(300);}} 二.寄存器版 1.硬件连接 看库函数版过程一样 2.代码实现 过程 GPIO都是挂载在APB总线下 #define RCC                 ((RCC_TypeDef *) RCC_BASE) typedef struct {__IO uint32_t CR;__IO uint32_t CFGR;__IO uint32_t CIR;__IO uint32_t APB2RSTR;__IO uint32_t APB1RSTR;__IO uint32_t AHBENR;__IO uint32_t APB2ENR;__IO uint32_t APB1ENR;__IO uint32_t BDCR;__IO uint32_t CSR;#ifdef STM32F10X_CL __IO uint32_t AHBRSTR;__IO uint32_t CFGR2; #endif /* STM32F10X_CL */ #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL) uint32_t RESERVED0;__IO uint32_t CFGR2; #endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */ } RCC_TypeDef; 注 要写成int main() (1)led.c编写 #include stm32f10x.h void LED_Init(void) {RCC-APB2ENR|(12);//使能A/*使能时钟*/RCC-APB2ENR|(15);//使能DGPIOA-CRH|0x00000003;/*设置推挽输出模式*/GPIOD-CRL|0x00000300; }2main文件的编写 配置ODR寄存器 #include stm32f10x.h #include led.h #include delay.hint main() {delay_init();LED_Init();delay_ms(100);while(1){GPIOA-ODR18;GPIOD-ODR12;delay_ms(500);GPIOA-ODR~(18);GPIOD-ODR~(12);delay_ms(500);}} 配置BRR与BSRR寄存器、 #include stm32f10x.h #include led.h #include delay.hint main() {delay_init();LED_Init();delay_ms(100);while(1){GPIOA-BSRR18;GPIOD-BSRR12;delay_ms(500);GPIOA-BRR(18);GPIOD-BRR(12);delay_ms(500);}} 三.位操作 1.位操作基本原理 2.硬件连接 看库函数版过程一样 3.代码实现 (1)led.c文件编写 下面的是库函数版也可以写成寄存器版 //#include led.h #include stm32f10x.h void LED_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOB时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能GPIOB时钟GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;/*初始化PA_8*/GPIO_InitStructure.GPIO_PinGPIO_Pin_8;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOA,GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_8);//PA_8输出高电平GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;/*初始化PD_2*/GPIO_InitStructure.GPIO_PinGPIO_Pin_2;GPIO_InitStructure.GPIO_SpeedGPIO_Speed_50MHz;GPIO_Init(GPIOD,GPIO_InitStructure);GPIO_SetBits(GPIOD,GPIO_Pin_2);//PD_2输出高电平 }(2)main文件编写 #include stm32f10x.h #include led.h #include delay.h #include sys.hint main() {LED_Init();delay_init();while(1){PAout(8)1;PDout(2)1;delay_ms(500);PAout(8)0;PDout(2)0; delay_ms(500);} }注 由于在delay.h文件中已经引用了sys.h所以可以不用在main文件声明sys.h
http://www.pierceye.com/news/943695/

相关文章:

  • 有帮忙做儿童房设计的网站吗东莞横沥网站制作
  • 国外网站模板欣赏WordPress 编辑器修改默认字号
  • 厦门同安网站建设视频购物网站开发方案
  • 什么是建设网站的主题兼职做问卷调查的网站
  • 装饰网站建设软件下载公司旅游视频网站模板免费下载
  • aws网站建设个体户做网站去哪里做
  • 用四字成语做网站域名好吗宁波网站推广专业服务
  • 深圳网站建设公司是网络推广网上营销
  • 网站视频站建设教程和仿qq商城版淘宝客网站源码模板+带程序后台文章dede织梦企业程序
  • 温州红酒网站建设长沙移动网站建设
  • 如何制作网站?企业网站制作步骤
  • 桓台县旅游网站建设购物网站建设技术难点
  • 单页网站推广网站qq链接怎么做
  • wordpress仿站步骤平乡网站建设
  • 青岛高端网站建设公司新网站seo技术
  • 手机网站后台甘肃网络推广技巧
  • 做co网站阿里云建站方案
  • 如何做网站首页优化怎么查网站点击量
  • 北京网站制作百度推广潜江资讯网二手房出售
  • 北京建网站软件深圳企业网站
  • 网站关键词互点备案网站简介怎么写
  • 网站建设报告书范文哈尔滨网站公司哪家好
  • 景观毕业设计作品网站公司网站销售平台建设费分录
  • 品牌网站建设还来大蝌蚪华为手机WordPress
  • 东莞制作企业网站公司网站营销活动页面制作
  • 有中文网站 怎么做英文网站企业网站建设 价格
  • 网络游戏网站开发建设工程施工合同样本
  • 陕西网站制作公司泸州中泸集团建设有限公司网站
  • 营销型网站建设的概念电子商务公司最低注册资本
  • 计划书网站推广的目录怎么做太原便宜做网站的公司哪家好