#include "main.h"
/* 修改主频 请修改 CMSIS标准文件 system_MKxxxx.c 中的 CLOCK_SETUP 宏 */
/* GPIO 工作模式 */
/*
* @arg kGPIO_Mode_IFT :悬空输入
* @arg kGPIO_Mode_IPD :下拉输入
* @arg kGPIO_Mode_IPU :上拉输入
* @arg kGPIO_Mode_OOD :开漏输出 如果不清楚这2种输出的区别请 百度..
* @arg kGPIO_Mode_OPP :推挽输出
*/
int main(void)
{
/* 初始化Delay */
DelayInit();
/* 使用简易初始化初始化PTB端口的22引脚作为IO使用 设置为推挽输出模式 */
// GPIO_QuickInit(HW_GPIOB, 22, kGPIO_Mode_OPP);
//使用结构体初始化
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.instance = HW_GPIOB;
GPIO_InitStruct.mode = kGPIO_Mode_OPP;
GPIO_InitStruct.pinx = GPIO_Pin_22;
GPIO_Init(&GPIO_InitStruct);
GPIO_QuickInit(HW_GPIOB, GPIO_Pin_21, kGPIO_Mode_OPP);
GPIO_QuickInit(HW_GPIOE, GPIO_Pin_26, kGPIO_Mode_OPP);
//PTA上拉输入
GPIO_QuickInit(HW_GPIOA,GPIO_Pin_4, kGPIO_Mode_IPU);
GPIO_QuickInit(HW_GPIOC,GPIO_Pin_6, kGPIO_Mode_IPU);
/* 控制PTB端口的21引脚输出低电平 */
GPIO_WriteBit(HW_GPIOB,GPIO_Pin_22, 1);
GPIO_WriteBit(HW_GPIOB, 21, 0);
GPIO_SetBit(HW_GPIOE, GPIO_Pin_26);
while(1)
{
if(GPIO_ReadBit(HW_GPIOA,GPIO_Pin_4) == 0)
{
DelayMs(5);
if(GPIO_ReadBit(HW_GPIOA,GPIO_Pin_4) == 0)
GPIO_ResetBit(HW_GPIOE, GPIO_Pin_26);
}
if(GPIO_ReadBit(HW_GPIOC,GPIO_Pin_6) == 0)
{
DelayMs(5);
if(GPIO_ReadBit(HW_GPIOC,GPIO_Pin_6) == 0)
GPIO_SetBit(HW_GPIOE, GPIO_Pin_26);
}
/* 翻转引脚电平 原来是低变成高 原来是高变成低 */
GPIO_ToggleBit(HW_GPIOB, GPIO_Pin_21);
GPIO_ToggleBit(HW_GPIOB, 22);
DelayMs(500);
}
}
|