stm32 GPIO 操作例程
来源:互联网 发布:叉叉助手类似软件 编辑:程序博客网 时间:2024/06/05 18:37
/* *@author : mingliang.lu *@date : 2015年12月21日 22:10:29 *@e-mail : <mingllu@163.com> */
stm32 作为cortex-m3系列中一款应用较为广泛的处理器,其在诸多的应用场景中有着不错的性能体现,最近在Gokit的官网领取了一块以stm32f103c8t6为主控单元的Gokit2开发板,遂,顺手研究研究stm32的一些外设以及u-Cos操作系统。研究了linux回头来再看看这些轻量级操作系统,觉得轻量级的操作系统在Real Time OS一类中还是占据了不俗的地位。So,let’s begin …
1. 开发平台背景
1.硬件开发平台:Gokit2开发板(基于stm32f103c8t6主控芯片) 2.软件开发平台:MDK-ARM keil v516 3.开发调试工具:j-link v9 + segger v4.90驱动
2. GPIO操作事例
以点灯为主要示范,实现点亮一个led灯作为实际的操作实现。本次以GPIOB中的PB14作为控制led开关的引脚。程序代码以及注释如下:
#include "..."//这里我省略了一些头文件的包含,只写出程序的主体部分,具体代码可以从我的github中clone下。 void led_gpio_init(void) { /* *首先定义一个这样的GPIO结构体,说点题外话,基于CMSIS层驱动接口的stm32开发, *针对每一类外设或系统通信接口,均实现了一个类似的结构体, *你想初始化或者配置某个外设时候,你就去找对应的外设的结构体即可 */ GPIO_InitTypeDef GPIO_InitStructure; /*然后,将RCC寄存器中,相应的外设的始终使能,即打开该GPIOB端口的时钟,让其工作*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); /* 配置时钟的输入输出方向,根据实际的要求,这里我们设置成推挽输出*/ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14; /* 最后调用CMSIS驱动的GPIO 引脚初始化模块,来初始化这个GPIO端口*/ GPIO_Init(GPIOB, &GPIO_InitStructure); }
上面的代码就实现了对stm32的外设之GPIO的简单设置,这样在通过对该GPIOB_Pin_14引脚写高写低就可以控制灯的闪烁。
0 0
- stm32 GPIO 操作例程
- STM32的GPIO操作
- stm32 起步 gpio操作
- STM32之GPIO推挽输出例程
- STM32之GPIO浮空输入例程
- STM32之GPIO推挽输出例程
- STM32之GPIO浮空输入例程
- STM32 GPIO 简单操作函数
- STM32 学习三 GPIO操作
- stm32 GPIO口配置操作
- STM32的例程GPIO的汇编指令初探
- STM32 GPIO——流水灯例程 学习总结
- STM32 GPIO之二——按键例程 学习总结
- STM32寄存器操作方式学习-GPIO
- STM32初识GPIO操作(by woody)
- stm32—GPIO操作(库函数)
- STM32 GPIO
- STM32 GPIO
- android-Activity读书笔记
- 自定义控件初学篇——onDraw()方法
- Yocto tips (13): Yocto 查看软件包的依赖关系
- 超实用的jQuery代码段 - jQuery Callback()
- java调用R语言之调用
- stm32 GPIO 操作例程
- linux sed命令详解
- 黑马程序员——Java---io流--文本文件读取写入的实现
- 【郑轻】[1762]Dml‘s secret
- html学习第一天
- Universal-Image-Loader加载网络图片
- 线程---Thread
- C# 过滤空格、换行、script、style等等标签
- swift-基础08-隐式解析,隐式装包,强制装包和断言