STM32之GPIO推挽输出例程

发布者:Joyful888Life最新更新时间:2018-07-07 来源: eefocus关键字:STM32  GPIO  推挽输出 手机看文章 扫描二维码
随时随地手机看文章

/* GPIO配置 */

void GPIO_config()

{

    GPIO_InitTypeDef GPIO_InitStructure;

 


    /* 使能GPIOC时钟 */

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

 

    /* 设置GPIOC寄存器为默认参数 */

    GPIO_DeInit(GPIOC);

 

    /* 设置GPIOC为推挽输出 */

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

    /* 设置13引脚 */

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

    /* 设置输出速度为50MHz */

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

    /* 初始化GPIOC_13 */

    GPIO_Init(GPIOC, &GPIO_InitStructure);  

}




/* 延时函数 */


void delay_ms(uint16_t time)

{    

    uint16_t i = 0; 


    while(time--)

    {

        i = 12000;

        while(i--);    

    }

}




int main(void)

{

    /* GPIO配置 */

    GPIO_config();

 


    while(1)

    {


        /* 将GPIOC_13拉高 */

       GPIO_SetBits(GPIOC,GPIO_Pin_13);

  


       /* 延时200ms */

       delay_ms(200);

  


       /* 将GPIOC_13拉低 */

       GPIO_ResetBits(GPIOC, GPIO_Pin_13);

  


       /* 延时200ms */

       delay_ms(200);

 }


}


关键字:STM32  GPIO  推挽输出 引用地址:STM32之GPIO推挽输出例程

上一篇:STM32用SPI方式控制OLED模块
下一篇:STM32GPIO操作

推荐阅读最新更新时间:2024-03-16 16:07

s3c2410_gpio_cfgpin等内核导出函数
//这里面的函数都是内核导出函数/plat-s3c24XX/gpio.c中 #include linux/kernel.h #include linux/init.h #include linux/module.h #include linux/interrupt.h #include linux/ioport.h #include linux/io.h #include mach/hardware.h #include mach/gpio-fns.h #include asm/irq.h #include mach/regs-gpio.h //设置gpio的工作模式,是输入,输出还是其他的 //s3c2410
[单片机]
Stm32-输入捕获
输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。STM32 的输入捕获,简单地说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)中。 1. 相关寄存器介绍 1) 捕获/比较模式寄存器 (TIMx_CCMRx) 当在输入捕获模式下使用的时候,对应上图的第二行描述,从图中可以看出,TIMx_CCMR1 明显是针对 2 个通道的配置,低八位 用于捕获/比较通道 1 的控制,而高八位 则用于捕获/比较通道 2 的控制
[单片机]
Stm32-输入捕获
F1和F4对GPIO的操作区别
以下是stm32f4xx.h中对GPIO的定义。 typedef struct { __IO uint32_t MODER; /*! GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*! GPIO port output type register, Address offset: 0x04 */ __IO uint32_t OSPEEDR; /*! GPIO port output speed register, Address offset: 0x08 */ __IO uint3
[单片机]
STM32软件复位办法
在需要软件复位的地方添加如下两句代码: 1 2 __set_FAULTMASK(1); NVIC_SystemReset();
[单片机]
关于STM32的ADC的扫描模式
下面这张截图是 我看的 STM32参考手册的关于ADC状态寄存器ADC1_SR的资料 我经过参考网上的资料 感觉EOC位 好像是每个通道转换结束 置位。而不是像书上这样说的 通道组转换结束时置位。 就像扫描模式,应该是每一个通道转换完就置一次,而不是等所有的通道都结束了才置位的。 不知道我理解的对不对? 书上写错了的? 1L: 额!这个还真不知道 2L(版主): 回复【楼主位】 utopia779 : --------------------------------- 这个要实验一下了.以实际实验结果为准. 3L: 应该是每一个通道转换完就置一次 这样的话DMA才能在每个通道转换完立即取出数据
[单片机]
在RAM中调试STM32程序的配置方法
早就听说可以在RAM中调试STM32程序了,直到昨天晚上看了个视频,自己也想来试试。乘热打铁,今天上午跑到实验室,从网上下载资料,凭着零星的记忆开始配置。不过任何事情都不是一次成功的,这次也不意外。But经过反反复复修改,查资料,修改,查资料。还是成功啦!下面就把我配置的一些经验,结合网上已经有的一些资料傻瓜式总结出来,希望所有像我这样的初学者能够少走弯路。。。。。。 先说说在RAM中调试STM32程序的好处吧! 1. 可以单步调试程序,并且不用像仿真调试那样需要去查看繁琐的寄存器位,直接可以通过实验现象来Debug。 2. 避免擦写Flash次数限制,虽然Flash的烧写次数高达1000次以上,但是也经不起小白程序员
[单片机]
在RAM中调试<font color='red'>STM32</font>程序的配置方法
基于STM32的虚拟多线程(TI_BLE协议栈_ZStack协议栈)
基于STM32的虚拟多线程,可以很好的用于裸机程序中,用于模拟小型操作系统的多线程概念。本实例参考了参考TI_BLE协议栈_ZStack协议栈。 #include Hal_Led/Hal_Led.h #include Hal_delay/delay.h #include Hal_Key/Hal_Key.h #include ringbuffer.h #define APP_LED2_BLINK_EVENT 0x0001 #define HAL_LED1_BLINK_EVENT 0x0001 #define TASK_NO_TASK_RUNNING 0xFF unsigned short Hal_ProcessE
[单片机]
基于<font color='red'>STM32</font>的虚拟多线程(TI_BLE协议栈_ZStack协议栈)
STM32 固件库
CMSIS 标准中最主要的为 CMSIS 核心层,它包括了: 内核函数层:其中包含用于访问内核寄存器的名称、地址定义; 设备外设访问层:提供了片上的核外外设的地址和中断定义。 库目录,文件简介 在STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 文件中: Libraries:文件夹下是驱动库的源代码及启动文件。 Project :文件夹下是用驱动库写的例子和工程模板。 Utilities:包含了基于 ST 官方实验板的例程,以及第三方软件库,如 emwin 图形软件 库、fatfs 文件系统。 MCD-ST Liberty…:库文件的 License 说明。 Release_Note.html::
[单片机]
<font color='red'>STM32</font> 固件库
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved