问答

汇集网友智慧,解决技术难题

21ic问答首页 - N32WB031 ns_timer软定时器的使用是否有例程

TE create 使用 N32WB031 定时器 timer

N32WB031 ns_timer软定时器的使用是否有例程

WXMZzhtt2024-09-19
请问是否有关于ns_timer_create这些软定时器的使用例程
回答 +关注 8
2884人浏览 2人回答问题 分享 举报
2 个回答
  • //在 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;
        }

    }
  • timer_hnd_t timer_id = ns_timer_create(1000, my_timer_callback);

    注意需要在协议栈初始化好后,即APP_BLE_OS_READY消息发出之后才能使用。

您需要登录后才可以回复 登录 | 注册