Serial.readString() ఫంక్షన్ను అర్థం చేసుకోవడం
Serial.readString() ఫంక్షన్ అనేది Arduino సీరియల్ లైబ్రరీలో ఒక భాగం, ఇది మైక్రోకంట్రోలర్ మరియు కంప్యూటర్ లేదా ఇతర బాహ్య పరికరాల మధ్య కమ్యూనికేషన్ను అనుమతిస్తుంది.
ఈ ఫంక్షన్ మైక్రోకంట్రోలర్ను సీరియల్ కనెక్షన్ నుండి పంపబడిన అక్షరాల స్ట్రింగ్ను చదవడానికి అనుమతిస్తుంది. ఫంక్షన్ సీరియల్ బఫర్ నుండి డేటాను రీడ్ చేస్తుంది మరియు స్ట్రింగ్ ఆబ్జెక్ట్ రూపంలో డేటాను అందిస్తుంది.
ఈ ఫంక్షన్ స్ట్రీమ్ క్లాస్ నుండి వారసత్వంగా పొందబడింది.
వాక్యనిర్మాణం
ఈ ఫంక్షన్ యొక్క వాక్యనిర్మాణం క్రింది విధంగా ఉంది:
క్రమ. రీడ్ స్ట్రింగ్ ( )
పారామితులు
ఈ ఫంక్షన్ ఏ పారామితులను తీసుకోదు. ఇది సీరియల్ పోర్ట్ వస్తువును మాత్రమే చదువుతుంది.
తిరిగి వస్తుంది
సీరియల్ పోర్ట్ ద్వారా అందుకున్న అక్షరాలను కలిగి ఉన్న స్ట్రింగ్ను అందిస్తుంది. స్ట్రింగ్ చివరిగా అందుకున్న అక్షరంతో ముగుస్తుంది, ఇది తరచుగా కొత్త లైన్ అక్షరం (\n). సీరియల్ బఫర్లో అక్షరాలు అందుబాటులో లేకుంటే, ఫంక్షన్ ఖాళీ స్ట్రింగ్ను (“”) అందిస్తుంది.
గమనిక: డేటాలో ముగింపు పంక్తి అక్షరం అందుబాటులో ఉంటే, ఫంక్షన్ ముందుగా ముగించబడదు. తిరిగి వచ్చిన స్ట్రింగ్ క్యారేజ్ రిటర్న్ క్యారెక్టర్లను కలిగి ఉండవచ్చు.
ఉదాహరణ కోడ్
దిగువ కోడ్ Arduino ప్రోగ్రామింగ్లో Serial.readString() ఫంక్షన్ను ఉపయోగించడాన్ని ప్రదర్శిస్తుంది:
దిగువ కోడ్ Arduino ప్రోగ్రామింగ్లో Serial.readString() ఫంక్షన్ను ఉపయోగించడాన్ని ప్రదర్శిస్తుంది:
శూన్యం సెటప్ ( ) {క్రమ. ప్రారంభం ( 9600 ) ;
}
శూన్యం లూప్ ( ) {
క్రమ. println ( 'డేటాను నమోదు చేయండి:' ) ;
అయితే ( క్రమ. అందుబాటులో ( ) == 0 ) { } //డేటా అందుబాటులో ఉండే వరకు వేచి ఉండండి
స్ట్రింగ్ teststr = క్రమ. రీడ్ స్ట్రింగ్ ( ) ; //కాలం ముగిసే వరకు చదవండి
teststr. ట్రిమ్ ( ) ; // స్ట్రింగ్ ఎండ్ నుండి ఏదైనా \r \n వైట్స్పేస్ని తీసివేయండి
క్రమ. ముద్రణ ( 'డేటా ఇన్పుట్:' ) ;
క్రమ. println ( teststr ) ;
ఉంటే ( teststr == 'హలో' ) {
క్రమ. println ( 'మీకు కూడా నమస్కారం!' ) ;
} లేకపోతే {
క్రమ. println ( 'నన్ను క్షమించండి, మీ ఇన్పుట్ నాకు అర్థం కాలేదు.' ) ;
}
}
లో సెటప్() ఫంక్షన్ సీరియల్ కమ్యూనికేషన్ 9600 బాడ్ రేటును ఉపయోగించి ప్రారంభించబడింది.
లో లూప్() ఫంక్షన్, సీరియల్ మానిటర్కు “డేటాను నమోదు చేయండి:”ని ప్రింట్ చేయడం ద్వారా డేటాను నమోదు చేయమని కోడ్ వినియోగదారుని అడుగుతుంది. ఇది Serial.available() ఫంక్షన్ని ఉపయోగించి సీరియల్ బఫర్ ఖాళీగా ఉందో లేదో తనిఖీ చేయడం ద్వారా డేటా అందుబాటులో ఉండే వరకు వేచి ఉంటుంది.
డేటా అందుబాటులోకి వచ్చిన తర్వాత, కోడ్ Serial.readString() ఫంక్షన్ని ఉపయోగించి డేటాను స్ట్రింగ్గా రీడ్ చేస్తుంది మరియు ట్రిమ్() ఫంక్షన్ని ఉపయోగించి స్ట్రింగ్ చివరిలో ఏవైనా వైట్స్పేస్ అక్షరాలను తొలగిస్తుంది.
కోడ్ ఇన్పుట్ స్ట్రింగ్ను స్ట్రింగ్ “హలో”తో పోలుస్తుంది. ఇన్పుట్ స్ట్రింగ్ అయితే 'హలో' , కోడ్ ప్రింటింగ్ ద్వారా ప్రతిస్పందిస్తుంది 'మీకు కూడా నమస్కారం!' సీరియల్ మానిటర్కి. లేకపోతే, అది 'నన్ను క్షమించండి, మీ ఇన్పుట్ నాకు అర్థం కాలేదు' అని ప్రింట్ అవుతుంది. సీరియల్ మానిటర్కి. లూప్() ఫంక్షన్ పునరావృతమవుతుంది, వినియోగదారుని మరింత ఇన్పుట్ కోసం ప్రాంప్ట్ చేస్తుంది.
అవుట్పుట్
అవుట్పుట్లో, వినియోగదారు నుండి కోడ్ చదివే మరియు “హలో” స్ట్రింగ్తో సరిపోలే విభిన్న స్ట్రింగ్లను మనం చూడవచ్చు.
ముగింపు
Arduinoలోని Serial.readString() ఫంక్షన్ కంప్యూటర్ లేదా ఇతర పరికరాల నుండి బోర్డుకి పంపబడిన సీరియల్ డేటాను రీడ్ చేస్తుంది. ఈ ఫంక్షన్ని ఉపయోగించి, సెన్సార్లు మరియు హార్డ్వేర్ పరికరాలను నియంత్రించడం వంటి అవుట్పుట్ ప్రతిస్పందనలను రూపొందించడానికి మేము ఇన్పుట్ సీరియల్ స్ట్రింగ్ డేటాను చదవవచ్చు మరియు సరిపోల్చవచ్చు.