ST17H66低功耗蓝牙SOC开发(6)—— simpleBleCentral工程讲解(上)

前面两篇文章介绍了simpleBlePeripheral工程,介绍了BLE Slave角色,接下来为大家介绍BLE Master(主机)角色。

讲解使用的SDK是在官方SDK基础上,精简无关功能后方便介绍和学习。

下载地址:simpleBleCentral低功耗蓝牙主机开发SDK-智能家居文档类资源-CSDN下载

1、参数介绍

1.1 main.c

int  main(void)
{
	watchdog_config(WDG_2S);
    g_system_clk = SYS_CLK_DLL_48M;//SYS_CLK_XTAL_16M;//SYS_CLK_DLL_48M;
    g_clk32K_config = CLK_32K_RCOSC;//CLK_32K_XTAL;//CLK_32K_XTAL,CLK_32K_RCOSC
    #if(FLASH_PROTECT_FEATURE == 1)
    hal_flash_lock();
    #endif
    drv_irq_init();
    init_config();
    extern void ll_patch_master(void);
    ll_patch_master();
    hal_rfphy_init();
    hal_init();
    #if(_BUILD_FOR_DTM_==1)
    //if(hal_gpio_read(P33))
    rf_phy_direct_test();
    #endif
    LOG_INIT();
    LOG("SDK Version ID %08x \n",SDK_VER_RELEASE_ID);
    LOG("rfClk %d rcClk %d sysClk %d tpCap[%02x %02x]\n",g_rfPhyClkSel,g_clk32K_config,g_system_clk,g_rfPhyTpCal0,g_rfPhyTpCal1);
    LOG("sizeof(struct ll_pkt_desc) = %d, buf size = %d\n", sizeof(struct ll_pkt_desc), BLE_CONN_BUF_SIZE);
    LOG("sizeof(g_pConnectionBuffer) = %d, sizeof(pConnContext) = %d, sizeof(largeHeap)=%d \n",\
        sizeof(g_pConnectionBuffer), sizeof(pConnContext),sizeof(g_largeHeap));	
	
    app_main();
}

mian中需要配置的是:

(1)看门狗(可选);

(1)主频:在本工程中,主频不能使用SYS_CLK_XTAL_16M主频,在连接时会出现异常,必须选择SYS_CLK_DBL_32M、SYS_CLK_DLL_48M、SYS_CLK_DLL_64M为主频。

1.2 simpleBleCentral.c

先介绍本文件中比较重要的参数。

(1)设置搜索设备数量

Master在每个扫描周期中,能发现的不同Slave设备的最大数量。

// Maximum number of scan responses
#define DEFAULT_MAX_SCAN_RES                  20

(2)设置扫描周期,单位ms

Master在一个扫描周期完成后,进入下一个扫描周期。

// Scan duration in ms
#define DEFAULT_SCAN_DURATION                 400

(3)设置扫描设备类型 

设置Master发现Slave广播类型,Genral、limited或者不做限制。

// Discovey mode (limited, general, all)
#define DEFAULT_DISCOVERY_MODE                DEVDISC_MODE_ALL

(4)参数更新请求及连接参数

是否可以在Master与Slave连接成功后,更新连接参数。

// Whether to enable automatic parameter update request when a connection is formed
#define DEFAULT_ENABLE_UPDATE_REQUEST         FALSE

// Minimum connection interval (units of 1.25ms) if automatic parameter update request is enabled
#define DEFAULT_UPDATE_MIN_CONN_INTERVAL      24

// Maximum connection interval (units of 1.25ms) if automatic parameter update request is enabled
#define DEFAULT_UPDATE_MAX_CONN_INTERVAL      48

// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_UPDATE_SLAVE_LATENCY          0

// Supervision timeout value (units of 10ms) if automatic parameter update request is enabled
#define DEFAULT_UPDATE_CONN_TIMEOUT           20

(5)连接目标

设置连接目标设备名,根据设备名连接从机。

设置主机是按照从机的设备名还是MAC地址发起连接。

设置RSSI值是为了过滤远距离设备,实际应用中如需搜索到远距离设备,可以将RSSI值设置取消。

static const uint8 peerDeviceName[GAP_DEVICE_NAME_LEN]      = "zfmbj146449";

static bool findDevByName=FALSE;
static gapDevRec_t simpleBlePeerTarget;

static int8  rssi_target = -40;

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ST17H66是一款低功耗蓝牙System on Chip(SoC开发平台。低功耗蓝牙(Low Energy Bluetooth,LE Bluetooth)技术可以在设备之间进行低功耗的无线通信,适用于物联网(Internet of Things,IoT)和传感器应用。ST17H66 SoC具有以下特点和功能。 首先,ST17H66拥有低功耗特性,可以显著延长设备的电池寿命。他采用了BLE技术,该技术相比传统蓝牙技术具有更低的功耗。在低功耗模式下,设备只需要非常少的能量来保持通信,可以有效地减少能耗并提高设备的使用时间。 其次,ST17H66具有强大的通信性能。它支持蓝牙5.1标准,具有更稳定和高速的数据传输能力。无论是传输数据、收发消息还是进行音频传输,ST17H66都可以提供可靠的连接和高质量的通信体验。 此外,ST17H66拥有丰富的接口和功能。它提供了多达,方便开发人员根据应用需求进行灵活设计和开发。此外,它还集成了一些传感器和基础设施,使开发过程更加简单和高效。 最后,ST17H66还具有高安全性。它支持数据加密和认证机制,可以保护用户数据的隐私和安全。这对于涉及敏感信息的应用非常重要,如金融、医疗和智能家居等领域。 总结来说,ST17H66低功耗蓝牙SoC开发平台具有低功耗、高通信性能、丰富的接口和功能以及高安全性等特点。它是一个可靠、高效和灵活的解决方案,适用于各种物联网和传感器应用的开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WHMTBYY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值