ble_led_blink的笔记



主函数的作用 :


void on_ready(void)
{
/*Config Adv Parameter And Ready to Adv*/
ble_set_adv_param(name, adv_address, tx_power_level, adv_interval);//ÉèÖù㲥²ÎÊý
ble_device_start_advertising();//¿ªÊ¼¹ã²¥
run_after_delay(LED_ON,NULL,100);//ÑÓ³Ù100msºóÔËÐÐLED_Onº¯Êý
}
void LED_ON(void *args){
BSP_LED_On(LED0);//дÈëÒý½ÅʹLEDµÆÁÁ
run_after_delay(LED_OFF,NULL,250);//ÑÓ³Ù250msºóÔËÐÐLED_OFFº¯Êý
}
void LED_OFF(void *args){
BSP_LED_Off(LED0);//дÈëÒý½ÅʹLEDµÆÃð
run_after_delay(LED_ON,NULL,750);//ÑÓ³Ù750msºóÔËÐÐLED_OFFº¯Êý
}


广播参数的设置

void ble_set_adv_param(char* adv_name, uint8_t* bdaddr, uint8_t tx_power_pevel, uint16_t adv_interval)
{
    uint8_t ret;
    /*set adv address*/
    ble_address(bdaddr);//µØÖ·
    /*Set Adv Name*/
    ble_device_set_name(adv_name);//Ãû×Ö
    /*Set Tx Power Level*/
    ble_set_tx_power(tx_power_pevel);//µÈ¼¶
    /* Range: 0x0020 to 0x4000
    Default: 1.28 s
    Time = AdvInterval * 0.625 msec
    */
    ble_device_set_advertising_interval(adv_interval);//¼ä¸ô
   /*Gatt And Gap Init*/
    ret = ble_init_bluenrg();//³õʼ»¯
    if(ret){
        printf("ble_init_bluenrg\n");
    }
}

开始广播

uint8_t ble_device_start_advertising(void)
{
    uint8_t ret;
    uint8_t uuid_length = 3;  //uuidµÄ³¤¶È
    uint8_t serviceUUIDList[] = {AD_TYPE_16_BIT_SERV_UUID_CMPLT_LIST,0x90,0xFE};//uuidÁбí


    /* disable scan response */
    hci_le_set_scan_resp_data(0,NULL);//ÉèÖÃÊý¾Ý
    HAL_Delay(1);
    ret = aci_gatt_update_char_value(service_handle, dev_name_char_handle, 0,
                                     adv_name_len, adv_name);//¸üÐÂ
    if(ret) {
        printf("aci_gatt_update_char_value failed.\n");
    }
    /*min_adv_interval > 32*0.625*/
    ret = aci_gap_set_discoverable(ADV_IND, m_adv_params.interval, m_adv_params.interval, PUBLIC_ADDR, NO_WHITE_LIST_USE,
                                   local_name_len, (char*)local_name, uuid_length, serviceUUIDList, 0, 0); Ïà¹ØµÄģʽÉèÖÃ
    if(ret) {
        printf("aci_gap_set_discoverable failed.\n");
    } else {
        printf("start advertising \n");
    }
    return ret;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值