Grove-Lora Radio:修改库函数使能修改扩频因子、带宽参数、码率
生活随笔
收集整理的這篇文章主要介紹了
Grove-Lora Radio:修改库函数使能修改扩频因子、带宽参数、码率
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Grove-Lora Radio的使用詳見:http://wiki.seeedstudio.com/cn/Grove_LoRa_Radio/
但是網(wǎng)站中提供的Grove_LoRa_433MHz_and_915MHz_RF-master中的示例代碼只能修改RF的頻率,不能修改LoRa擴頻因子、帶寬等參數(shù)。研究了一下午,終于搞明白怎么修改庫函數(shù),特在此記錄。
注意!必須找到與Grove_LoRa_433MHz_and_915MHz_RF-master庫對應(yīng)的?RH_RF95.h和?RH_RF95.cpp文件!
1. 修改擴頻因子,添加如下代碼段
①?RH_RF95.cpp,添加
template <typename T> void RH_RF95<T>::setSpreadingFactor(int8_t sf) {if (sf < 6) {sf = 6;} else if (sf > 12) {sf = 12;}if (sf == 6) {this->write(RH_RF95_REG_31_DETECTION_OPTIMIZE, 0xc5);this->write(RH_RF95_REG_37_DETECTION_THRESHOLD, 0x0c);} else {this->write(RH_RF95_REG_31_DETECTION_OPTIMIZE, 0xc3);this->write(RH_RF95_REG_37_DETECTION_THRESHOLD, 0x0a);}this->write(RH_RF95_REG_1E_MODEM_CONFIG2, (this->read(RH_RF95_REG_1E_MODEM_CONFIG2) & 0x0f) | ((sf << 4) & 0xf0)); }②?RH_RF95.h,添加
#define RH_RF95_REG_31_DETECTION_OPTIMIZE 0x31 #define RH_RF95_REG_37_DETECTION_THRESHOLD 0x37 void setSpreadingFactor(int8_t sf);2. 修改帶寬
①?RH_RF95.cpp,添加
template <typename T> void RH_RF95<T>::setSignalBandwidth(long sbw) {int bw;if (sbw <= 7.8E3) {bw = 0;} else if (sbw <= 10.4E3) {bw = 1;} else if (sbw <= 15.6E3) {bw = 2;} else if (sbw <= 20.8E3) {bw = 3;} else if (sbw <= 31.25E3) {bw = 4;} else if (sbw <= 41.7E3) {bw = 5;} else if (sbw <= 62.5E3) {bw = 6;} else if (sbw <= 125E3) {bw = 7;} else if (sbw <= 250E3) {bw = 8;} else /*if (sbw <= 250E3)*/ {bw = 9;}this->write(RH_RF95_REG_1D_MODEM_CONFIG1, (this->read(RH_RF95_REG_1D_MODEM_CONFIG1) & 0x0f) | (bw << 4)); }②?RH_RF95.h,添加
void setSignalBandwidth(long sbw);3. 修改碼率
①?RH_RF95.cpp,添加
template <typename T> void RH_RF95<T>::setCodingRate4(int8_t denominator) {if (denominator < 5) {denominator = 5;} else if (denominator > 8) {denominator = 8;}int cr = denominator - 4;this->write(RH_RF95_REG_1D_MODEM_CONFIG1, (this->read(RH_RF95_REG_1D_MODEM_CONFIG1) & 0xf1) | (cr << 1)); }②?RH_RF95.h,添加
void setCodingRate4(int8_t denominator);?
總結(jié)
以上是生活随笔為你收集整理的Grove-Lora Radio:修改库函数使能修改扩频因子、带宽参数、码率的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NS2相关学习——创建Xgraph的输出
- 下一篇: c语言程序设计臧,清华大学出版社-图书详