TLSR8258内部集成了一个PA,功率最大10dbm。如果想要使用外部PA LNA,那么如何配置呢。
首先需要关注三个代码文件:
1.b85_ble_sdk\drivers\8258\driver_ext\rf_pa.h
1.1.你需要把宏定义由0更改为1,以开启外部PA LNA驱动。
#define PA_ENABLE 1
1.2.配置外部PA LNA的芯片驱动引脚。它们用于控制外部PA LNA何时打开PA,何时打开LNA。
#ifndef PA_TXEN_PIN
#define PA_TXEN_PIN GPIO_PD5
#endif
#ifndef PA_RXEN_PIN
#define PA_RXEN_PIN GPIO_PD6
#endif
2.b85_ble_sdk\drivers\8258\driver_ext\rf_pa.c
关注void rf_pa_init(void)函数,后面需要使用。
3.app.c
如果你使用低功耗管理,必须按照要求在MCU唤醒时调用rf_pa_init(),以随时待命接收或者发送。
3.1.退出停机模式,初始化外部PA。
void task_suspend_exit (u8 e, u8 *p, int n)
{
(void)e;(void)p;(void)n;
#if(PA_ENABLE )
rf_pa_init();
#endif
rf_set_power_level_index (MY_RF_POWER_INDEX);
}
3.2.MCU初始化时,初始化PA、LNA。
_attribute_no_inline_ void user_init_normal(void)
{
#if(PA_ENABLE )
rf_pa_init();
#endif
}
3.3.MCU从深度睡眠唤醒时初始化PA、LNA。
_attribute_ram_code_ void user_init_deepRetn(void)
{
#if(PA_ENABLE )
rf_pa_init();
#endif
}
disclaimer:
本 文 仅 代 表 作 者 个 人 观 点 限 制 在 修 改 日 期 前 , 不 代 表 现 在 观 点 。 其 原 创 性 以 及 文 中 陈 述 文 字 和 内 容 未 经 学 术 机 构 或 标 准 组 织 证 实 , 对 本 文 以 及 其 中 全 部 或 者 部 分 内 容 、 文 字 的 真 实 性 、 完 整 生 及 时 性 本 人 不 作 任 何 保 证 或 承 诺 , 请 读 者 仅 作 参 考 , 并 请 自 行 核 实 相 关 内 容 。 仅 供 学 习 参 考 ! 如 有 侵 权 或 交 流 , 请 邮 件 flourishinggarden@outlook.com , 谢 谢 !
copyright:
引 清 注 明 出 处 , 转 载 或 者 引 用 需 注 明 " 转 自 〔 或 引 用 自 〕 flourishinggarden@outlook.com" 字 样 。