首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino中整型到整型的ASCII

Arduino中整型到整型的ASCII
EN

Stack Overflow用户
提问于 2020-10-08 20:19:01
回答 1查看 215关注 0票数 0

我正在与LoRa和Arduino在一个项目中工作,我面临着一个奇怪的问题,当我发送一个整数时,接收器接收ASCII值,这在我的情况下不是很好,因为我想传输传感器数据(3位数字),这是ASCII码不可能的。我也会附上我的代码(转换成一个基本的整数代码测试)我需要一个解决方案来修复这个BTW我正在使用Arduino UNO传输和Arduino Mega接收和SX1278 LoRa模块的传输和接收。

发射器代码(Arduino UNO):

代码语言:javascript
复制
    #include <SPI.h>
    #include <LoRa.h>
    
    int val = 5;
    void setup() {
      Serial.begin(9600);
      while (!Serial);
    
      Serial.println("LoRa Sender");
    
      if (!LoRa.begin(433E6)) {
        Serial.println("Starting LoRa failed!");
        while (1);
      }
    }
    
    void loop() {
      Serial.print("Sending packet: ");
    
      // send packet
      LoRa.beginPacket();
      LoRa.print(val);
      LoRa.endPacket();
    
      delay(500);
    }

接收器代码(Arduino Mega):

代码语言:javascript
复制
   #include <SPI.h>
   #include <LoRa.h>
   
   #define LORA_SS 53
   #define LORA_RST 9
   #define LORA_DIO0 8
   int val;
   
   void setup() {
     pinMode(LORA_SS, OUTPUT);
     digitalWrite(LORA_SS, HIGH);
   
     LoRa.setPins(LORA_SS, LORA_RST, LORA_DIO0);
     Serial.begin(9600);
     
     while (!Serial);
   
     Serial.println("LoRa Receiver");
   
     if (!LoRa.begin(433E6)) {
       Serial.println("Starting LoRa failed!");
       while (1);
     }
   }
   
   void loop() {
     // try to parse packet
     int packetSize = LoRa.parsePacket();
     if (packetSize) {
       // received a packet
       Serial.print("Received packet '");
   
       // read packet
       while (LoRa.available()) {
         //Serial.print((char)LoRa.read());
         int val = LoRa.read();
        
       }
      
       Serial.print(val);
       // print RSSI of packet
       Serial.print("' with RSSI ");
       Serial.println(LoRa.packetRssi());
     }
   }

接收器的输出:

代码语言:javascript
复制
Received packet '53' with RSSI -5
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 01:08:43

要解决这个问题,只需将值作为整数发送,因为LoRa在接收器的字符串变量中接收相同的字符/字符串,并使用toInt();将其转换为整数,这样就可以解决它了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64262376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档