买了一个STM32F4的开发板,想把上面的东西重新学一下

快速过:

一、GPIO控制

void GPIO_DeInit(GPIO_TypeDef* GPIOx);                                           //把某一个IO口恢复到默认值

/* 初始化和配置IO口函数**********************************************/
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct); //初始化GPIO口函数
void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct); //初始化GPIO结构体函数
void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //GPIO引脚配置锁定函数 /* GPIO读取或者写入函数**********************************************/
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //读取输入IO口数据的函数
uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); //一次读取GPIO口16BIT数据函数
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //读取当前GPIO口输出数据函数
uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx); //读取当前GPIO口16BIT输出数据函数
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //GPIO某引脚置一
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //GPIO某引脚置零
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal); //GPIO口写入状态
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); //GPIO口写入16BIT状态
void GPIO_ToggleBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); //GPIO口某位取反 /* GPIO映射配置函数 ****************************/
void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF);

以上是STM32F40x GPIO 口控制的全部函数

下面是一个GPIO初始化函数的例子:

//LED初始化函数
void LED_Init(void)
{
  GPIO_InitTypeDef GPIO_Struct;
  GPIO_StructInit(&GPIO_Struct); //GPIO结构体初始化,恢复默认值
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //开启GPIO口时钟
  GPIO_Struct.GPIO_Mode = GPIO_Mode_OUT; //设置为输出模式
  GPIO_Struct.GPIO_OType = GPIO_OType_PP; //推挽模式
  GPIO_Struct.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; //设置引脚6和引脚7
  GPIO_Struct.GPIO_PuPd = GPIO_PuPd_NOPULL; //没有上拉和下拉
  GPIO_Struct.GPIO_Speed = GPIO_High_Speed; //高速模式
  GPIO_Init(GPIOA,&GPIO_Struct); //GPIO口初始化函数
  GPIO_PinLockConfig(GPIOA,GPIO_Pin_6|GPIO_Pin_7); //锁定引脚配置
  GPIO_SetBits(GPIOA,GPIO_Pin_6|GPIO_Pin_7); //A6 和A7 GPIO口置一
}

最新文章

  1. 数值分析之QR因子分解篇
  2. ASP.NET页面中去除VIEWSTATE视图状态乱码
  3. 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
  4. SQLServer 维护脚本分享(09)相关文件读取
  5. Cwinux简介及用法简述
  6. 重学STM32----(二)
  7. 反转链表 --剑指offer
  8. 【转】python中的lambda函数
  9. IE8+等兼容、360调用webkit内核小记
  10. 使用GDAL图书馆RPC校正问题
  11. Maven搭建SpringMVC+Hibernate项目详解(转)
  12. css选择器的优先级别
  13. --@angularJS--一个最简单的指令demo
  14. 处理json数据的空数据为任意字符
  15. Cypher查询语言--Neo4j 入门 (一)
  16. Python模块的导入以及软件开发规范
  17. Netty实现的一个异步Socket代码
  18. pygame设置text和image共同显示
  19. python setattr
  20. pymongo CursorNotFound错误

热门文章

  1. C语言二维数组作业
  2. 团队项目7——团队冲刺(beta版本)
  3. django搭建web (五) views.py
  4. Welcome to Django!
  5. Python 远程部署 Fabric
  6. jquery基本使用和实例
  7. 前端双引号单引号,正则反向引用,js比较jq
  8. Mego(2) - NET主流ORM框架分析
  9. 新概念英语(1-131)Don't be so sure
  10. 阿里云API网关(13)请求身份识别:客户端请求签名和服务网关请求签名