available()



Açıklama

Okunacak bayt (karakter) sayısını alın. Bu, önceden alınmış ve bir alma arabelleğinde saklanan verilerdir. available (), Stream yardımcı program sınıfından miras alır.

Sözdizimi

modem.available ()

Parametreler

Yok

İadeler

okunabilecek bayt sayısı

Misal

/ *
Lora Gönderme ve Alma
Bu çizim, MKR WAN 1300/1310 LoRa modülü ile nasıl veri gönderileceğini ve alınacağını göstermektedir.
Bu örnek kod kamu malıdır.
* /


#include <MKRWAN.h>

LoRaModem modem ;

// Murata çipini modül olarak kullanıyorsanız rahatsızlık
// LoRaModem modem (Seri1);

#include "arduino_secrets.h"
// Lütfen hassas verilerinizi Gizli sekmesine veya arduino_secrets.h girin
Dize appEui = SECRET_APP_EUI ;
String appKey = SECRET_APP_KEY ;

void setup ( ) {
// bir kez çalıştırmak için kurulum kodunuzu buraya yerleştirin:
Seri . başlar ( 115200 ) ;
süre ( ! Seri ) ;
// bunu bölgesel bandınızla değiştirin (ör. US915, AS923, ...)
eğer ( ! modem. başlar ( EU868 ) ) {
Seri . println ( "Modül başlatılamadı" ) ;
ise (1) {}
} ;
Seri . print ( "Modül sürümünüz:" ) ;
Seri . println ( modem. sürüm ( ) ) ;
Seri . print ( "Cihazınızın EUI'si:" ) ;
Seri . println ( modem. cihazıEUI ( ) ) ;

int bağlı = modem. joinOTAA ( appEui , appKey ) ;
if ( ! bağlı ) {
Seri . println ( "Bir şeyler ters gitti; kapalı mısın? Bir pencerenin yanına git ve tekrar dene" ) ;
ise (1) {}
}

// Yoklama aralığını 60 saniyeye ayarlayın.
modem. minPollInterval ( 60 ) ;
// NOT: bağımsız olarak bu ayar ile modem
// her 2 dakikada bir birden fazla mesaj göndermeye izin vermeyin,
// bu yazılım tarafından uygulanır ve değiştirilemez.
}

void loop ( ) {
Seri . println ( ) ;
Seri . println ( "Ağa göndermek için bir mesaj girin" ) ;
Seri . println ( "(satır sonu 'NL' öğesinin etkin olduğundan emin olun)" ) ;

while ( ! Serial . available ( ) ) ;
Dize msg = Seri . readStringUntil ( ' \ n ' ) ;

Seri . println ( ) ;
Seri . print ( "Gönderiliyor:" + msg + "-" ) ;
for ( unsigned int i = 0 ; i < msg. uzunluk ( ) ; i ++ ) {
Seri . baskı ( msg [ i ] >> 4 , HEX ) ;
Seri . baskı ( msg [ i ] & 0xF , HEX ) ;
Seri . yazdır ( "" ) ;
}
Seri . println ( ) ;

int err ;
modem. beginPacket ( ) ;
modem. yazdırma ( msj ) ;
err = modem. endPacket ( gerçek ) ;
if ( err > 0 ) {
Seri . println ( "Mesaj doğru gönderildi!" ) ;
} başka {
Seri . println ( "Mesaj gönderme hatası :(" ) ;
Seri . println ( "(sinyal gücüne bağlı olarak dakika başına sınırlı miktarda mesaj gönderebilirsiniz" ) ;
Seri . println ( "her birkaç saniyede bir mesajdan dakikada 1 mesaja kadar değişebilir)" ) ;
}
gecikme ( 1000 ) ;
if ( ! modem. available ( ) ) {
Seri . println ( "Şu anda bir downlink mesajı alınmadı." ) ;
dönüş ;
}
char rcv [ 64 ] ;
int i = 0 ;
while ( modem. available ( ) ) {
rcv [ i ++ ] = ( karakter ) modem. read ( ) ;
}
Seri . print ( "Alınan:" ) ;
for ( unsigned int j = 0 ; j < i ; j ++ ) {
Seri . baskı ( rcv [ j ] >> 4 , HEX ) ;
Seri . baskı (RCV [j] 0xf, HEX);
Seri . yazdır ( "" ) ;
}
Seri . println ( ) ;
}

Ayrıca bakınız