对于管脚电平的操作,BabyOS框架要做以下操作
1、在main.c文件中
void test()
{
static uint8_t state = 0;
state = !state;
bHalGPIO_WritePin(B_HAL_GPIOC, B_HAL_PIN9, state); //每秒开关闪烁
}
int main(void)
{
bInit();
SystemClock_Config();
while (1)
{
BOS_PERIODIC_TASK(test, 1000); //1000ms执行test函数一次
bExec();
}
}
在main函数中加入BabyOS初始化函数 bInit();
初始化工作 bInit -> bHalInit -> bDeviceInit
void bHalInit()
{
_bSystemInit();
_bSystickInit();
_bGPIO_Init(); //加入要初始化的管脚
// Add code ...gpio init or some other functions
}
static void _bGPIO_Init()
{
bHalGPIO_Config(B_HAL_GPIOC, B_HAL_PIN8, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP);
bHalGPIO_Config(B_HAL_GPIOC, B_HAL_PIN7, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP);
bHalGPIO_Config(B_HAL_GPIOC, B_HAL_PIN6, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP);
}
到此,gpio的初始化已经完成
bHalGPIO_WritePin(B_HAL_GPIOC, B_HAL_PIN9, state); //每秒开关闪烁