日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Grove-Lora Radio:修改库函数使能修改扩频因子、带宽参数、码率

發(fā)布時間:2024/8/23 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。