赞
踩
以下是GPIO其它函数
/**
* @brief 初始化指定的端口引脚
* @param GPIOx:设置的外设,其中x可以是(A到G)
* @param GPIO_InitStruct: 此参数为 GPIO_InitTypeDef 结构体
* @retval 无
*/
GPIO_Init(GPIOx,&GPIO_InitStructure);
以上是GPIO其它函数
以下是GPIO输出函数 /** * @brief 设置引脚为低电平 * @param GPIOx:设置的外设,其中x可以是(A到G) * @param GPIO_Pin_x:选择的端口引脚,其中x可以是(0到15)。 * @retval 无 */ GPIO_ResetBits(GPIOx,GPIO_Pin_x); /** * @brief 设置引脚为高电平 * @param GPIOx:设置的外设,其中x可以是(A到G) * @param GPIO_Pin_x:选择的端口引脚,其中x可以是(0到15)。 * @retval 无 */ GPIO_SetBits(GPIOx, uint16_t GPIO_Pin_x); /** * @brief 设置引脚为高电平或低电平 * @param GPIOx:设置的外设,其中x可以是(A到G) * @param GPIO_Pin_x:选择的端口引脚,其中x可以是(0到15)。 * @param BitVal: 赋予引脚的状态,Bit_RESET 为低电平 | Bit_SET 为高电平 * @retval 无 */ GPIO_WriteBit(GPIOx,GPIO_Pin_x, BitAction BitVal); /** * @brief 同时对16个引脚进行写入操作 * @param GPIOx:设置的外设,其中x可以是(A到G) * @param PortVal: 16进制端口数据寄存器的值,如:~0x0001 //也就是 0000 0000 0000 0001,C语言不支持2进制,需要转换成16进制,最低位对应PA0往上依次是PA1、PA2...因为是低电平点亮,最后按位取反 * @retval 无 */ GPIO_Write(GPIOx,PortVal); /** * @brief 读取输出引脚的值 * @param GPIOx:设置的外设,其中x可以是(A到G) * @param GPIO_Pin_x:选择的端口引脚,其中x可以是(0到15)。 * @retval 如果输出引脚为高电平返回1,低电平返回0 */ GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin_x) 以上是GPIO输出函数
点亮一个LED灯
硬件部分:
将LED灯的正极插入A0引脚,负极插入GND,也就是输出高电平灯亮
代码部分如下:
#include "stm32f10x.h" // Device header
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启APB2总线上的GPIOA
GPIO_InitTypeDef GPIO_InitStruct; //自定义一个名为GPIO_InitStruct结构体变量,它的类型是GPIO_InitTypeDef
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; //模式为推挽输出
GPIO_InitStruct
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。