//在 app_ble.c 文件内,创建 c_led_test() 测试函数
#include "ns_timer.h" //引用 ns_timer 相关函数
void GPIO_TogglePin(GPIO_Module *GPIOx, uint16_t Pin); //声明电平翻转函数
timer_hnd_t id_timer=0; //创建定时器的id
void c_led_test(void){
GPIO_TogglePin(GPIOB, GPIO_PIN_0); //PB0 电平翻转
GPIO_TogglePin(GPIOA, GPIO_PIN_6); //PA6 电平翻转
ns_timer_cancel(id_timer); //取消指定的定时器
id_timer = ns_timer_create(500,c_led_test); //重新创建软件定时器
}
void app_ble_msg_handler(struct ble_msg_t const *p_ble_msg){
switch (p_ble_msg->msg_id){
case APP_BLE_OS_READY:
NS_LOG_INFO("APP_BLE_OS_READY\r\n");
//注意需要在协议栈初始化好后,即APP_BLE_OS_READY消息发出之后才能使用。
id_timer = ns_timer_create(500,c_led_test ); //单位为1毫秒,现在设置500ms的定时器 <--- 这是新增加的代码
break;
case APP_BLE_GAP_CONNECTED:
app_ble_connected();
//ke_timer_set(APP_BLE_REPORT, TASK_APP, 300); //延迟发送消息
break;
case APP_BLE_GAP_DISCONNECTED:
app_ble_disconnected();
break;
default:
break;
}
}
|