野火STM32学习(6)
编写置位/复位函数
#ifndef __STM32F4XX_GPIO_H
#define __STM32F4XX_GPIO_H#include "stm32f4xx.h"#define GPIO_Pin_0 (1<<0)
#define GPIO_Pin_1 (1<<1)
#define GPIO_Pin_2 (1<<2)
#define GPIO_Pin_3 (1<<3)
#define GPIO_Pin_4 (1<<4)
#define GPIO_Pin_5 (1<<5)
#define GPIO_Pin_6 (1<<6)
#define GPIO_Pin_7 (1<<7)
#define GPIO_Pin_8 (1<<8)
#define GPIO_Pin_9 (1<<9)
#define GPIO_Pin_10 (1<<10)
#define GPIO_Pin_11 (1<<11)
#define GPIO_Pin_12 (1<<12)
#define GPIO_Pin_13 (1<<13)
#define GPIO_Pin_14 (1<<14)
#define GPIO_Pin_15 (1<<15)void GPIO_SetBits( GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin );
void GPIO_ResetBits( GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin );#endif /* __STM32F4XX_GPIO_H */
#include "stm32f4xx_gpio.h"void GPIO_SetBits( GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin ){GPIOx->BSRRL = GPIO_Pin;}void GPIO_ResetBits( GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin ){GPIOx->BSRRH = GPIO_Pin;}
#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"int main(void){/* 打开GPIOE的时钟 */RCC_AHB1ENR |= (1<<4); //写入1/* GPIOE配置为输出 */GPIOE->MODER &= ~(0X03<<(2*3)); //清0GPIOE->MODER |= (0X01<<(2*3)); //写入1/* PE3输出低电平 */GPIO_ResetBits(GPIOE, GPIO_Pin_3);
}void SystemInit(void){}
置位/复位函数实际上与操作ODR寄存器相似,置位写1,复位写0
野火STM32学习(6)相关推荐
- 野火STM32学习笔记
开始进入固件库编程 学习原因即优缺点 固件库的出现让STM32的开发难度大大下降,它通过库文件的封装,把众多的内存元整合为一个整体,在我们想要操作某一位寄存器时只要调用它所在的固件库就可以.缺点是不同 ...
- 【学习记录】野火stm32学习记录(一)GPIO
观看的视频:野火-视频链接 https://www.bilibili.com/video/BV18X4y1M763 什么是GPIO? GPIO是通用输入输出端口的简称,简单来说就是STM32可控制的 ...
- 野火STM32学习笔记一、固件库文件分析
STM32固件库文件分析 汇编编写的启动文件 startup_stm32f10x_hd.s: 设置堆栈指针.设置PC指针.初始化中断向量表.配置系统时钟.调用C库函数main最终去到C的世界 时钟配置 ...
- 野火STM32学习(7)
编写GPIO初始化结构体和初始化函数 stm32f4xx_gpio.h /* 端口模式 */ typedef enum{GPIO_Mode_IN = 0x00,GPIO_Mode_OUT = 0x01 ...
- STM32野火教程学习笔记
欢迎使用STM32 虽然经历了疫情期间的价格起飞,但是STM32系列的单片机仍然是各个控制领域内主流的微控制器.它是控制人的必修课之一. STM32的编程方法 我们在学习51单片机的时候,通常是通过编 ...
- STM32学习之SPI协议(读写FLASH)
关于STM32学习分享 第八章 SPI协议(读写FLASH) 文章目录 关于STM32学习分享 前言 二.代码 1.spi_flash.c 2.spi_flash.h 3.main.c 总结 前言 开 ...
- STM32学习之I2C协议(读写EEPROM)
关于STM32学习分享 第七章 I2C协议(读写EEPROM) 文章目录 关于STM32学习分享 前言 二.代码 1.i2c.c 2.i2c.h 3.main.c 总结 前言 开始!开始!单片机的I2 ...
- 1、野火freertos学习笔记
野火freertos学习笔记 1.任务 1.1 栈 1.2 任务的切换 taskYIELD(); 1.3 临界段 2.空闲任务 3.任务优先级 4.任务延时的表现 5.时间片 5.1抢占式.协做式 6 ...
- 前备 正点原子以及野火stm32资料获取
stm32学习的两个论坛,正点原子和野火都为32提供了相应的教程例程,普中也有,需要的可以自行去官网下载. 正点原子 点此链接进入正点论坛下载资料 注册什么的我就不说了.. A盘是程序和手册,B盘是视 ...
最新文章
- ProgreassBar 60秒走完,
- JS引用类型(6)——基本包装类型1
- 第三方工具生成密钥对连接GCP服务器(putty生成密钥远程连接服务器)
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- linux用unzip解压.zip文件失败解决方案
- 机器学习之 weka学习(四)
- js解决客户端与服务器时间不一致的问题
- 你必须『收藏』的Github技巧
- Codeforces Round #572 (Div. 2)B
- Linux 能否拿下苹果 M1 阵地?
- hangfire 过期记录_黄浦回收豆沙月饼公司,过期饼干回收厂家
- LeetCode 496. 下一个更大元素 I(Next Greater Element I) 35
- 买东西被拒收现金?央行刚刚发话了:必须这样!
- k8s拉取harbor镜像_Kubernetes-连接Harbor仓库拉取镜像
- IIS网站发布详细流程
- performSelector延时调用导致的内存泄露
- 淘宝商城,亚洲最大网上购物网站
- Android音频通信--简单演示程序
- 深度学习和并行化实现
- VB操作EXCEL方法汇总