請教CH579M無法啟動藍(lán)牙問題

各位大佬們好,我手上買了CH579M芯片打了幾塊板子,調(diào)試的時候燒錄了官網(wǎng)給的例程Peripheral,發(fā)現(xiàn)BLE調(diào)試助手無法搜到藍(lán)牙設(shè)備,并且CH579M的Debug串口也只打印了“

CH57x_BLE_LIB_V1.90

Initialized..

Advertising..

根本沒搜索到其它藍(lán)牙設(shè)備。

本人供職于惠州某電池企業(yè),項目組想用國產(chǎn)方案做一款無線采集設(shè)備。請大佬們指點一二,不勝感激。


原理圖如下:

icon_jpg.gif無標(biāo)題.png


高頻和低頻晶振旁邊均不需要外接電容,芯片內(nèi)置了負(fù)載電容。

可以先使用內(nèi)部32K嘗試是否可以搜索到藍(lán)牙設(shè)備。

BLE調(diào)試助手是否可以搜索到其他設(shè)備,如果什么都沒有搜索到檢查是否為定位和藍(lán)牙功能未開啟。


。。




@TECH_Lpc 我改成了內(nèi)部32K晶振,燒錄了Peripheral例程還是搜到不到板子的藍(lán)牙設(shè)備。。請教下如何解決

下面是我程序修改的地方。


icon_jpg.gif1665128237275.jpg

icon_jpg.gif7034afffb8f34d24556ac64fd44be76.jpg

icon_jpg.gif1665128289172.png

icon_jpg.gif1665128349816.png



在config.h中有相應(yīng)的宏可以直接做修改,注釋也是提供了。修改后先在官方板上嘗試是否成功,然后在你的板子上嘗試。

實物請注意芯片的地是完全供地的,電容按照手冊來進(jìn)行配置。


@TECH_Lpc 您說的是RTC用內(nèi)部32K吧?我看成是mcu主頻了。。


是內(nèi)部32K的調(diào)整,32K對于藍(lán)牙的使用會有影響,因此建議先使用內(nèi)部32K進(jìn)行嘗試驗證。同時上述的供地也需要注意。


@TECH_Lpc? 我這邊查看了config.h頭文件,看到的只有CLK_OSC32K宏是關(guān)于晶振的而且是RTC而不是MCU主頻晶振,不知道哪個宏是關(guān)于內(nèi)部晶振的。。。


/********************************** (C) COPYRIGHT *******************************

* File Name? ? ? ? ? : CONFIG.h

* Author? ? ? ? ? ? ?: WCH

* Version? ? ? ? ? ? : V1.10

* Date? ? ? ? ? ? ? ?: 2019/11/05

* Description? ? ? ? : 配置說明及默認(rèn)值,建議在工程配置里的預(yù)處理中修改當(dāng)前值

*******************************************************************************/


/******************************************************************************/

#ifndef __CONFIG_H

#define __CONFIG_H


#defineID_CH5770x77

#defineID_CH5780x78

#defineID_CH5790x79


#define CHIP_IDID_CH579


#ifdef CH57xBLE_ROM

#include "CH57xBLE_ROM.H"

#else

#include "CH57xBLE_LIB.H"

#endif


#include "CH57x_common.h"


/*********************************************************************

【MAC】

BLE_MAC- 是否自定義藍(lán)牙Mac地址 ( 默認(rèn):FALSE - 使用芯片Mac地址 ),需要在main.c修改Mac地址定義


【SLEEP】

HAL_SLEEP? ?- 是否開啟睡眠功能 ( 默認(rèn):FALSE )

WAKE_UP_RTC_MAX_TIME- 等待32M晶振穩(wěn)定時間,根據(jù)不同睡眠類型取值可分為:睡眠模式/下電模式 -45(默認(rèn))

暫停模式-45

空閑模式-5

【TEMPERATION】

TEM_SAMPLE- 是否打開根據(jù)溫度變化校準(zhǔn)的功能,單次校準(zhǔn)耗時小于10ms( 默認(rèn):TRUE )

【CALIBRATION】

BLE_CALIBRATION_ENABLE- 是否打開定時校準(zhǔn)的功能,單次校準(zhǔn)耗時小于10ms( 默認(rèn):TRUE )

BLE_CALIBRATION_PERIOD- 定時校準(zhǔn)的周期,單位ms( 默認(rèn):120000 )?

【SNV】

BLE_SNV? ? ? ? ? ? ? ? - 是否開啟SNV功能,用于儲存綁定信息( 默認(rèn):TRUE )

BLE_SNV_ADDR? ? ? ? - SNV信息保存地址,使用data flash最后( 默認(rèn):0x3EC00 )


【RTC】

CLK_OSC32K- RTC時鐘選擇,如包含主機(jī)角色必須使用外部32K( 默認(rèn):0 外部(32768Hz),1:內(nèi)部(32000Hz),2:內(nèi)部(32768Hz) )


【MEMORY】

BLE_MEMHEAP_SIZE? - 藍(lán)牙協(xié)議棧使用的RAM大小,不小于6K ( 默認(rèn):(1024*8) )? ? ? ? ? ? ? ?


【DATA】

BLE_BUFF_MAX_LEN- 單個連接最大包長度( 默認(rèn):27 (ATT_MTU=23),取值范圍[27~251] )

BLE_BUFF_NUM- 控制器緩存的包數(shù)量( 默認(rèn):5 )

BLE_TX_NUM_EVENT- 單個連接事件最多可以發(fā)多少個數(shù)據(jù)包( 默認(rèn):1 )

BLE_TX_POWER- 發(fā)射功率( 默認(rèn):LL_TX_POWEER_0_DBM (0dBm) )

【MULTICONN】

PERIPHERAL_MAX_CONNECTION- 最多可同時做多少從機(jī)角色( 默認(rèn):1 )

CENTRAL_MAX_CONNECTION- 最多可同時做多少主機(jī)角色( 默認(rèn):3 )

**********************************************************************/


/*********************************************************************

?* 默認(rèn)配置值

?*/

#ifndef BLE_MAC

#define BLE_MACFALSE

#endif

#ifndef HAL_SLEEP

#define HAL_SLEEPFALSE

#endif

#ifndef WAKE_UP_RTC_MAX_TIME

#define WAKE_UP_RTC_MAX_TIME50

#endif

#ifndef HAL_KEY

#define HAL_KEYFALSE

#endif

#ifndef HAL_LED

#define HAL_LEDFALSE

#endif

#ifndef TEM_SAMPLE

#define TEM_SAMPLETRUE

#endif

#ifndef BLE_CALIBRATION_ENABLE

#define BLE_CALIBRATION_ENABLETRUE

#endif

#ifndef BLE_CALIBRATION_PERIOD

#define BLE_CALIBRATION_PERIOD120000

#endif

#ifndef BLE_SNV

#define BLE_SNVTRUE

#endif

#ifndef BLE_SNV_ADDR

#define BLE_SNV_ADDR0x3EC00

#endif

#ifndef CLK_OSC32K

#define CLK_OSC32K0// 該項請勿在此修改,必須在工程配置里的預(yù)處理中修改,如包含主機(jī)角色必須使用外部32K

#endif

#ifndef BLE_MEMHEAP_SIZE

#define BLE_MEMHEAP_SIZE(1024*8)

#endif

#ifndef BLE_BUFF_MAX_LEN

#define BLE_BUFF_MAX_LEN27

#endif

#ifndef BLE_BUFF_NUM

#define BLE_BUFF_NUM5

#endif

#ifndef BLE_TX_NUM_EVENT

#define BLE_TX_NUM_EVENT1

#endif

#ifndef BLE_TX_POWER

#define BLE_TX_POWERLL_TX_POWEER_0_DBM

#endif

#ifndef PERIPHERAL_MAX_CONNECTION

#define PERIPHERAL_MAX_CONNECTION1

#endif

#ifndef CENTRAL_MAX_CONNECTION

#define CENTRAL_MAX_CONNECTION3

#endif


extern uint32_tMEM_BUF[BLE_MEMHEAP_SIZE/4];

extern const uint8_t MacAddr[6];


#endif


/******************************* endfile @ config ******************************/




我們家的RTC就是基于低頻32K產(chǎn)生的,所以修改CLK_OSC32K = 1進(jìn)行驗證。

修改后查看是否成功,如果不成功,請發(fā)送郵件至郵箱lpc@wch.cn,我們這里會詳細(xì)排查問題。


@TECH_Lpc 好的,謝謝您。我這邊改成32k測試一下。


找到問題了。。是我手機(jī)搜不到設(shè)備的藍(lán)牙,手機(jī)型號是榮耀50 SE。。。換另一部手機(jī)就可以了


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频