【FR801xH】富芮坤FR801xH系统函数

00. 目录

文章目录

    • 00. 目录
    • 01. FR801xH概述
    • 02. FR801xH功能框图
    • 03. Version相关函数
      • 3.1 get_SDK_compile_date_time
    • 04. 系统函数
      • 4.1 system_power_off
      • 4.2 system_sleep_enable
      • 4.3 system_sleep_disable
      • 4.4 system_get_curr_time
    • 05. 程序示例
    • 06. 附录

01. FR801xH概述

FR801xH 系列芯片是面向SOC(片上系统),易于快速开发的低功耗蓝牙芯片。基于 Freqchip 的蓝牙智能固件和协议栈的支持,完全兼容蓝牙 V5.3(LE 模式)协议。同时用户可以基于芯片内置的 ARM CorteM3 嵌入式 32 位高性能单片机开发各种应用程序。

蓝牙智能固件包括 L2CAP 服务层协议、安全管理器 (SM)、属性协议(ATT)、通用属性配置文件 (GATT)和通用访问配置文件(GAP)。此外,还 支持应用程序配置文件,例如接近度、健康温度计、 心率、血压、血糖、人机界面设备(HID)和 SDK (包括驱动程序、OS-API 等)。SDK 还集成了用于网络应用程序的 SIG Mesh 协议。

采用 Freqchip 的创新技术,将 PMU(锂电池充电 器+LDO)、带 XIP 模式的 QSPI FLASH ROM、 I2C、UART、GPIO、ADC、PWM 集成在一块芯片中,为客户提供:

  • 竞争力的功耗
  • 稳定的蓝牙连接
  • 极低的 BOM 成本

02. FR801xH功能框图

【FR801xH】富芮坤FR801xH系统函数_第1张图片

03. Version相关函数

头文件:components/modules/platform/include/version.h

3.1 get_SDK_compile_date_time

/*********************************************************************
 * @fn      get_SDK_compile_date_time
 *
 * @brief   used to trace SDK version, usage is following:
 *          char *data, *time;
 *          get_SDK_compile_date_time(&data, &time);
 *
 * @param   date    - the date string when SDK is compiled, such as "Apr 17 2020".
 *          time    - the time string when SDK is compiled, such as "18:51:13".
 *
 * @return  None.
 */
void get_SDK_compile_date_time(char **date, char **time);
功能:
	获取 SDK 编译时的日期和时间,用于版本追溯。
参数:
	date 存储编译日期的字符串所在地址的指针。
	time 存储编译时间的字符串所在地址的指针。
返回值:

示例:

char *data, *time;
get_SDK_compile_date_time(&data, &time);

04. 系统函数

头文件:components/driver/include/driver_system.h

4.1 system_power_off

/*********************************************************************
 * @fn      system_power_off
 *
 * @brief   put the system into power off mode, GPIO or pmu interrupt can 
 *          power on system according user configurations.
 *
 * @param   aldo_bypass - set aldo working in bypass true save more power.
 *                        suggest user enable this function if power supply
 *                        is less than 3.3v.
 *
 * @return  None.
 */
void system_power_off(bool aldo_bypass);
功能:
	系统关机函数,调用该函数将系统至于关机状态,关机状态下用户可以配置按键唤醒或者各种 PMU 中断唤醒。从关机状态下醒来,系统状态寄存器(PMU 寄存器 0x9F)值为 0xc6	
参数:
	aldo_bypass 关机状态下 aldo 是否进入 bypass 模式,在这种模式下会更省电。建议供电电压小于 3.3v时启用该功能。
返回值:

4.2 system_sleep_enable

/*********************************************************************
 * @fn      system_sleep_enable
 *
 * @brief   enable system enter deep sleep mode when all conditions are satisfied.
 *
 * @param   None.
 *
 * @return  None.
 */
void system_sleep_enable(void);
功能:
	使能系统睡眠功能,默认状态下睡眠功能是使能的。睡眠使能后,软件调度器发现短时间无任务可做时会自动将系统置于睡眠状态,并且设定定时器在有任务要做前(比如有广播包要发送等)醒来,该流程用户无需介入。
参数:
	无
返回值:

4.3 system_sleep_disable

/*********************************************************************
 * @fn      system_sleep_disable
 *
 * @brief   disable system enter deep sleep mode.
 *
 * @param   None.
 *
 * @return  None.
 */
void system_sleep_disable(void);
功能:
	关闭系统的睡眠功能,关闭之后软件调度器将不再将系统置于睡眠状态
参数:
	无
返回值:

4.4 system_get_curr_time


/*********************************************************************
 * @fn      system_get_curr_time
 *
 * @brief   get how many milliseconds have passed after system start-up,
 *          and the value will loop back to 0 after reaching 83886079(0x4FFFFFF).
 *
 * @param   None.
 *
 * @return  None.
 */
uint32_t system_get_curr_time(void);
功能:
	获取系统从开机到调用该函数时已经运行过的时间,单位为 ms,当超过 858993456ms 后,将从 0 继续。
参数:
	无
返回值:
	系统已经运行的时间

05. 程序示例

示例:


void peripheral_demo(void)
{
    char *data, *time;
    get_SDK_compile_date_time(&data, &time);
    co_printf("version data: %s time: %s\r\n", data, time);

    co_printf("system_get_curr_time: %d\r\n", system_get_curr_time());

    co_delay_100us(10 * 1000);
    
    co_printf("system_get_curr_time: %d\r\n", system_get_curr_time());

}

运行结果

******Connected******

******Start Auto Burn******
****************************************************
******CRC Success******

******Burn Success******
?version data: Jul 25 2024 time: 10:53:40
system_get_curr_time: 15
system_get_curr_time: 1015

06. 附录

你可能感兴趣的:(物联网专栏,FR801xH,富芮坤,系统函数,富芮坤系统函数,Freqchip,BLE,SDK)