led设置:
gpio_config(GPIOB_1, OUTPUT, PULL_NONE);
gpio_set(GPIOB_1, 1);
我用的板子上的led没有与P11短接,需要短接才会亮(小白来说有点坑)
外部中断:
static void bosma_gpio_int_config(uint8_t* gpio_array, uint8_t len)
{
for(uint8_t i=0; i<len; i++)
{
// if(gpio_array[i] == BOSMA_KEY_PIN) { //上升沿触发
bk_gpio_init_input(gpio_array[i], PULL_LOW);
REG_APB5_GPIO_WUATOD_TYPE |= 0<<(8*(gpio_array[i]>>4)+(gpio_array[i]&0x0f)); //0<<2 = 0
// } else { //下降沿触发
// bk_gpio_init_input(gpio_array[i], PULL_HIGH);
// REG_APB5_GPIO_WUATOD_TYPE |= 1<<(8*(gpio_array[i]>>4)+(gpio_array[i]&0x0f)); //1<<2 = 4
// }
REG_APB5_GPIO_WUATOD_STAT |= 1<<(8*(gpio_array[i]>>4)+(gpio_array[i]&0x0f));
bk_delay_ms(2);
REG_APB5_GPIO_WUATOD_ENABLE |= 1<<(8*(gpio_array[i]>>4)+(gpio_array[i]&0x0f));
REG_AHB0_ICU_DEEP_SLEEP0 |= 1<<(8*(gpio_array[i]>>4)+(gpio_array[i]&0x0f));
}
REG_AHB0_ICU_INT_ENABLE |= (0x01 << 9);
}