如何将RF96W与基于Stm32F030的控制器接口?

问题描述

我已经用LoRa板测试了我的RF96W Lolin板,它工作正常,但是当我开始将这些Lora板与基于stm32f030r8t6的控制器接口时,我无法接收任何数据。尽管我尝试根据Lolin板保持SPI配置。 电路板接线与SPI要求相同。

Lolin工作代码

#include <SPI.h>
#include <RH_RF95.h>

#define RFM95_CS 15
#define RFM95_RST 16
#define RFM95_INT 5

RH_RF95 rf95(RFM95_CS,RFM95_INT);

void setup() 
{
  Serial.begin(9600);
  while (!Serial) ; // Wait for serial port to be available

  rf95.setModemConfig(RH_RF95::Bw125Cr48Sf4096);
  while (!rf95.init()) {
    Serial.println("LoRa radio init Failed");
  }
}

void loop()
{
  Serial.println("Sending to rf95_server");
  uint8_t data[] = "Hello World!";
  rf95.send(data,sizeof(data));
  
  rf95.waitPacketSent();
  // Now wait for a reply
  uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
  uint8_t len = sizeof(buf);

  if (rf95.waitAvailableTimeout(3000)) { 
    // Should be a reply message for us Now   
    if (rf95.recv(buf,&len)) {
      Serial.print("got reply: ");
      Serial.println((char*)buf);
//      Serial.print("RSSI: ");
//      Serial.println(rf95.lastRSSi(),DEC);    
    } else {
      Serial.println("recv Failed");
    }
  } else {
    Serial.println("No reply,is rf95_server running?");
  }
//  delay(400);
}

STM32F030R8T6控制器不工作代码

#include <stdio.h>
#include <RF95.h>

uint8_t init_Failed = 0;
uint8_t Tx_buff[] = "Hello World!";
uint8_t Rx_buff[RH_RF95_MAX_MESSAGE_LEN];
uint8_t RSSi_value = 0;
uint16_t len = 0;

void SystemClock_Config(void);

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_SPI1_Init();
//  RF95_setModemConfig(Bw125Cr48Sf4096);
    if(!RF95_Init()) {
        init_Failed = 1;
    }
  while (1) {
//    RF95_send(Tx_buff);
//    RF95_waitPacketSent();
//    if(RF95_available_Timeout(3000)){
//        RF95_receive(Rx_buff);
//    }
      if (RF95_available()) {
          if (RF95_receive(Rx_buff)) {
              len = sizeof(Rx_buff);
          }
          if (len) {
              uint8_t data[] = "And hello back to you";
              RF95_send(data);
              RF95_waitPacketSent();
          }
      }
  }
}

对于Lolin板library,也来自GitHub。 对于ST,我使用的是来自GitHub的RFM95 library

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...