#include "app.h"
#include "bsp.h"
#include "pad_ec616.h"
#include "gpio_ec616.h"
#define GPIO_PIN_NUMBER (3) //GPIO编号
#define GPIO_PORT (GPIO_PIN_NUMBER/16) //在哪个端口上(P0 / P1 / P2)
#define GPIO_PIN (GPIO_PIN_NUMBER%16) //在端口上的编号
#define GPIO_PAD_INDEX (14) //引脚对应的PAD地址, 这个看手册哈
#define GPIO_PAD_ALT_FUNC (PAD_MuxAlt0) //使用其第几功能
void gpio_init(void)
{
/*配置GPIO的功能*/
pad_config_t padConfig;
PAD_GetDefaultConfig(&padConfig);
padConfig.mux = GPIO_PAD_ALT_FUNC;//设置使用其第几功能
PAD_SetPinConfig(GPIO_PAD_INDEX, &padConfig);//配置PAD
PAD_SetPinPullConfig(GPIO_PAD_INDEX, PAD_InternalPullUp);//设置内部上下拉
/*配置GPIO的输入输出初始化*/
gpio_pin_config_t config;
config.pinDirection = GPIO_DirectionOutput;//输出模式
config.misc.initOutput = 1;//初始输出高电平
GPIO_PinConfig(GPIO_PORT, GPIO_PIN, &config);//配置
}
int value=0;
void main_entry(void)
{
BSP_CommonInit();//官方底层初始化函数,默认写上就可以
gpio_init();
while (1)
{
value = value+1;
if(value<10000) GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 1 << GPIO_PIN); //设置GPIO输出高电平
else if (value<20000) GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 0); //设置GPIO输出低电平
else if (value<30000) value=0;
}
}
输出高电平: GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 1 << GPIO_PIN);
输出低电平: GPIO_PinWrite(GPIO_PORT, 1 << GPIO_PIN, 0);
按照上面那样子写就可以,不必深究, 因为最终也只不过是配置寄存器的某些位的数据而已.