- STM8S103F3P6 పై సీరియల్ కమ్యూనికేషన్
- STM8S103F3P6 పై సీరియల్ కమ్యూనికేషన్ పిన్స్
- STM8S సీరియల్ కమ్యూనికేషన్ కోసం సర్క్యూట్ రేఖాచిత్రం
- సీరియల్ కమ్యూనికేషన్ కోసం STVD ని ఏర్పాటు చేస్తోంది
- సీరియల్ కమ్యూనికేషన్ కోసం STM8S ప్రోగ్రామింగ్
- సీరియల్ మానిటర్ నుండి LED ని నియంత్రించడం
- STM8S సీరియల్ లైబ్రరీ డీపర్ లుక్
క్రొత్త మైక్రోకంట్రోలర్ను ప్రోగ్రామింగ్ చేయడం వల్ల కొత్త రిజిస్టర్ హ్యాండ్లింగ్ పద్ధతుల వల్ల ఎక్కువ సమయం పడుతుంది మరియు బిట్ ఏమి చేస్తుందో తెలియదు. అదే చెప్పకుండా డీబగ్గింగ్కు కూడా వెళ్తుంది. అందువల్ల ప్రోగ్రామర్లు చాలా తరచుగా తమ కోడ్లో బ్రేక్పాయింట్లను ఉపయోగిస్తారు మరియు డీబగ్గర్ ఉపయోగించి దాని ద్వారా అడుగు పెడతారు. కానీ డీబగ్గర్ ఉపయోగించటానికి అదనపు హార్డ్వేర్ (చాలా రెట్లు ఖరీదైనది) మరియు అదనపు సమయం అవసరం కావచ్చు. ఆర్డునో అభిమాని బాలుడు కావడం, మన కోడ్ను డీబగ్గింగ్ చేయడం మరియు అర్థం చేసుకోవడం కోసం సీరియల్ ప్రింట్ స్టేట్మెంట్లను ఉపయోగించడం జీవితాన్ని చాలా సులభం చేస్తుంది. STM8 లలో కాస్మిక్ సి కంపైలర్ మరియు SPL లైబ్రరీలతో మనం ఏమి ప్రతిబింబించవచ్చు? బాగా, ఇది చాలా సాధ్యమే, మరియు మా ట్యుటోరియల్ సిరీస్ యొక్క ఈ మూడవ ట్యుటోరియల్ లో మనం చేయబోయేది అదే.మీరు ఇక్కడ పూర్తిగా క్రొత్తగా ఉంటే STM8S (ట్యుటోరియల్ 1) మరియు STM8S GPIO కంట్రోల్ (ట్యుటోరియల్ 2) తో ప్రారంభించడం కూడా మీరు తనిఖీ చేస్తారు. అలాగే, శీఘ్ర స్టార్టర్స్ కోసం ఆర్డునోతో STM8S ను ప్రోగ్రామింగ్ చేసే అవకాశాన్ని కూడా మేము అన్వేషించాము. చెప్పబడుతున్నదంతా ట్యుటోరియల్లోకి వెళ్దాం.
STM8S103F3P6 పై సీరియల్ కమ్యూనికేషన్
STM8S103F3P6 యొక్క డేటాషీట్ నుండి, మా 8-బిట్ కంట్రోలర్ అనేక విభిన్న రీతుల్లో UART కమ్యూనికేషన్కు మద్దతు ఇస్తుందని మనం చూడవచ్చు. కంట్రోలర్ సింక్రోనస్ UART కమ్యూనికేషన్ కోసం క్లాక్ అవుట్పుట్ పిన్ను కూడా కలిగి ఉంది మరియు స్మార్ట్ కార్డ్, ఇర్డిఎ మరియు లిన్ లకు కూడా మద్దతు ఇవ్వగలదు. కానీ మేము ఈ ట్యుటోరియల్లో సంక్లిష్టతకు దూరంగా ఉండటానికి ఏదీ అన్వేషించము. సరళమైన UART చదవడం మరియు వ్రాయడం ఎలా చేయాలో నేర్చుకుంటాము.
ట్యుటోరియల్ stm8s103 serial.h అనే హెడర్ ఫైల్ను కూడా అందిస్తుంది, దీనిని ఉపయోగించి మీరు సీరియల్ స్టార్ట్ , సీరియల్ రీడ్, సీరియల్ ప్రింట్ మొదలైన సాధారణ UART ఆదేశాలను చేయవచ్చు. ప్రాథమికంగా, మీరు సీరియల్ మానిటర్కు చార్, పూర్ణాంకం మరియు స్ట్రింగ్ను ముద్రించగలరు. మరియు సీరియల్ మానిటర్ నుండి చార్ కూడా చదవండి. ఈ ట్యుటోరియల్ చివరలో, మీరు సీరియల్ మానిటర్ నుండి ఒక LED ని నియంత్రించగలుగుతారు మరియు LED యొక్క స్థితి గురించి అభిప్రాయాన్ని పొందవచ్చు. పైన పేర్కొన్న హెడర్ ఫైల్ SPL లైబ్రరీలపై ఆధారపడి ఉంటుంది, కాబట్టి మీరు ప్రారంభించే ట్యుటోరియల్ను అనుసరించారని నిర్ధారించుకోండి.
STM8S103F3P6 పై సీరియల్ కమ్యూనికేషన్ పిన్స్
హార్డ్వేర్ వైపు నుండి ప్రారంభిద్దాం. క్రింద ఇవ్వబడిన STM8S103F3P6 మైక్రోకంట్రోలర్లోని పిన్అవుట్లను శీఘ్రంగా పరిశీలిస్తే, UART కమ్యూనికేషన్ కోసం పిన్స్ 1, 2 మరియు 3 ఉపయోగించబడుతుందని మనం చూడవచ్చు.
మూడింటిలో, పిన్ 1 అనేది UART క్లాక్ పిన్, ఇది సింక్రోనస్ UART కమ్యూనికేషన్ సమయంలో మాత్రమే ఉపయోగించబడుతుంది, కాబట్టి మాకు ఇక్కడ అవసరం లేదు. పిన్ 2 UART ట్రాన్స్మిటర్ పిన్ మరియు పిన్ 3 UART రిసీవర్ పిన్. ఈ పిన్స్ అనలాగ్ పిన్ లేదా సాధారణ GPIO పిన్గా కూడా రెట్టింపు అవుతాయని గమనించండి.
STM8S సీరియల్ కమ్యూనికేషన్ కోసం సర్క్యూట్ రేఖాచిత్రం
సర్క్యూట్ రేఖాచిత్రం ఇక్కడ చాలా సులభం, మేము ప్రోగ్రామింగ్ కోసం మా ST-LINK 2 మరియు సీరియల్ డేటాను చదవడానికి USB నుండి TTL కన్వర్టర్ను కనెక్ట్ చేయాలి. మా STM8S కంట్రోలర్ 3.3V లాజిక్ స్థాయిలో పనిచేస్తుందని గమనించండి, కాబట్టి మీ USB నుండి TTL కన్వర్టర్ కూడా 3.3V లాజిక్కు మద్దతు ఇస్తుందని నిర్ధారించుకోండి. పూర్తి సర్క్యూట్ రేఖాచిత్రం క్రింద చూపబడింది.
మీరు మీ ల్యాప్టాప్లోని మరొక యుఎస్బి పోర్టులో మీ ఎస్టి-లింక్ను ఒక యుఎస్బి పోర్టులో మరియు యుఎస్బిని టిటిఎల్ కన్వర్టర్కు కనెక్ట్ చేయాలి, తద్వారా మీరు ఒకే సమయంలో డేటాను ప్రోగ్రామ్ చేయవచ్చు మరియు పర్యవేక్షించవచ్చు. UART కనెక్షన్ చాలా సులభం, మీ STM8S మైక్రోకంట్రోలర్ యొక్క భూమి మరియు Rx / Tx పిన్ను USB యొక్క Tx / Rx పిన్స్తో TTL కన్వర్టర్కు కనెక్ట్ చేయండి. ఇక్కడ నేను ST-Link యొక్క Vcc పిన్తో నియంత్రికను శక్తివంతం చేసాను మరియు TTL కన్వర్టర్ యొక్క vss పిన్ను తెరిచి ఉంచాను, మీరు దీన్ని ఇతర మార్గంలో కూడా చేయవచ్చు. మార్కెట్లో యుఎస్బి నుండి టిటిఎల్ కన్వర్టర్ వరకు అనేక రకాలు ఉన్నాయి, ఇది 3.3 వి లాజిక్ సిగ్నల్స్ మరియు టిఎక్స్, ఆర్ఎక్స్ మరియు జిఎన్డి పిన్ల కోసం సింపుల్ లుక్తో పనిచేయగలదని నిర్ధారించుకోండి మరియు పైన చూపిన కనెక్షన్ను చేయండి. నా హార్డ్వేర్ సెటప్ క్రింద చూపబడింది.
సీరియల్ కమ్యూనికేషన్ మార్గం చేయడానికి, మేము STM8S_Serial.h హెడర్ ఫైల్ను అందించాము . ఈ హెడర్ ఫైల్ను ఉపయోగించి, మీరు సీరియల్ కమ్యూనికేషన్ కోసం సరళమైన ఆర్డునో వంటి విధులను చేయవచ్చు.
మీరు ఈ ప్రాజెక్ట్ కోసం అవసరమైన అన్ని ఫైళ్ళను మా STM8S103F3_SPL గితుబ్ పేజీలో కనుగొనవచ్చు. మీకు ఈ ప్రత్యేకమైన హెడర్ ఫైల్ మాత్రమే అవసరమైతే, మీరు దీన్ని క్రింది లింక్ నుండి డౌన్లోడ్ చేసుకోవచ్చు.
STM8S_Serial.h ని డౌన్లోడ్ చేయండి
సీరియల్ కమ్యూనికేషన్ కోసం STVD ని ఏర్పాటు చేస్తోంది
సీరియల్ కమ్యూనికేషన్తో పనిచేయడానికి, మేము ఇంతకుముందు చర్చించిన STM8S_Serial.h హెడర్ ఫైల్ ఫంక్షన్ను ఉపయోగించి చాలా మందిని ఉపయోగిస్తాము. కానీ లైబ్రరీకి ఇతర డిపెండెన్సీలు ఉన్నాయి, చాలా SPL UART మరియు క్లాక్ సంబంధిత హెడర్ మరియు సి ఫైల్స్. కాబట్టి ఈ దశ నుండి, సంకలన లోపాన్ని నివారించడానికి అన్ని హెడర్ మరియు సి ఫైళ్ళను మా ప్రాజెక్ట్లో చేర్చడం మంచిది. నా STVD పని వాతావరణం ఇలా ఉంది.
మీరు అన్ని SPL సోర్స్ ఫైళ్ళను చేర్చారని నిర్ధారించుకోండి మరియు మా మొదటి ట్యుటోరియల్లో మాదిరిగానే ఫైల్ను చేర్చండి. మరియు మీరు stm8s103_serial.h హెడర్ ఫైల్ను జోడించారని నిర్ధారించుకోండి. ఈ శీర్షికకు సి ఫైల్ లేదు.
సీరియల్ కమ్యూనికేషన్ కోసం STM8S ప్రోగ్రామింగ్
STVD ప్రాజెక్ట్ సెటప్ సిద్ధమైన తర్వాత, మన కోడ్ను main.c ఫైల్లో రాయడం ప్రారంభించవచ్చు. ఈ ట్యుటోరియల్ కోసం పూర్తి కోడ్ ఈ పేజీ దిగువన చూడవచ్చు. వివరణ ఈ క్రింది విధంగా ఉంది.
మొదటి దశ అవసరమైన హెడర్ ఫైళ్ళను చేర్చడం, ఇక్కడ నేను డౌన్లోడ్ చేసిన ప్రధాన హెడర్ ఫైల్ (stm8s) మరియు stm8s_103_serial హెడర్ ఫైల్ను జోడించాను .
// అవసరమైన శీర్షికలు # "STM8S.h" ను చేర్చండి
తరువాత, ఇన్పుట్ మరియు అవుట్పుట్ పిన్నులను పేర్కొనడానికి మేము డిజైన్ మాక్రోలను ఉపయోగిస్తున్నాము. ఇక్కడ పోర్ట్ B యొక్క పిన్ 5 కి అనుసంధానించబడిన ఆన్-బోర్డ్ LED ని మాత్రమే నియంత్రిస్తుంది, కాబట్టి మేము దీనికి test_LED అని పేరు ఇస్తాము .
# test_LED GPIOB ని నిర్వచించండి, GPIO_PIN_5 // పరీక్ష LED PB5 కి కనెక్ట్ చేయబడింది
ప్రధాన ఫంక్షన్ లోపల కదులుతూ, పిన్ను అవుట్పుట్గా నిర్వచిస్తాము. మీకు ప్రాథమిక GPIO ఫంక్షన్లు తెలియకపోతే STM8S GPIO ట్యుటోరియల్కు తిరిగి వస్తాయి.
// పిన్ డిఫానిషన్స్ // పిబి 5 ను పుష్ పుల్ అవుట్పుట్ పిన్గా ప్రకటించండి GPIO_Init (test_LED, GPIO_MODE_OUT_PP_LOW_SLOW);
అప్పుడు మేము మా సీరియల్ కమ్యూనికేషన్ పోర్టులను 9600 బాడ్ రేట్లకు ప్రారంభిస్తాము. క్రొత్తవారికి, 9600 అనేది కమ్యూనికేషన్ సమయంలో డేటా బిట్స్ బదిలీ చేయబడే వేగం. మీరు ఇక్కడ 9600 ను సెట్ చేస్తే, మీరు పర్యవేక్షణా సాఫ్ట్వేర్లో కూడా అదే సెట్ చేయాలి. అప్పుడు మనం “Enter కమాండ్” అనే స్ట్రింగ్ను కూడా ప్రింట్ చేసి తదుపరి పంక్తికి వెళ్తాము.
సీరియల్_బెగిన్ (9600); // 9600 బాడ్ రేట్ వద్ద సీరియల్ కమ్యూనికేషన్ను ప్రారంభించండి Serial_print_string ("కమాండ్ ఎంటర్"); // స్ట్రింగ్ను ముద్రించండి సీరియల్_న్యూలైన్ (); // తదుపరి పంక్తికి తరలించండి
లూప్ అయితే అనంతం వైపుకు వెళుతున్నప్పుడు , ఇన్కమింగ్ సీరియల్ డేటా ఏదైనా ఉందో లేదో తనిఖీ చేయడానికి మేము సీరియల్_అవబుల్ ఫంక్షన్ ను ఉపయోగిస్తాము. అవును అయితే, మేము దానిని ch అనే వేరియబుల్లో చదివి సేవ్ చేస్తాము మరియు సీరియల్_ప్రింట్ ఉపయోగించి కూడా ప్రింట్ చేస్తాము . అందుకున్న విలువ 0 అయితే, మేము LED ని ఆపివేస్తాము మరియు అది 1 అయితే, మేము LED ని ఆన్ చేస్తాము
if (Serial_available ()) {Serial_print_string ("మీరు నొక్కినది:"); ch = సీరియల్_రెడ్_చార్ (); సీరియల్_ప్రింట్_చార్ (చ); సీరియల్_న్యూలైన్ (); if (ch == '0') GPIO_WriteHigh (test_LED); // LED OFF ఉంటే (ch == '1') GPIO_WriteLow (test_LED); // LED ఆన్}
దీనితో, ఈ ట్యుటోరియల్ కోసం ప్రోగ్రామింగ్ పూర్తయింది, ఈ పేజీ దిగువన ఇచ్చిన కోడ్ను అప్లోడ్ చేయండి మరియు మీరు సీరియల్ మానిటర్ నుండి LED ని నియంత్రించగలుగుతారు.
సీరియల్ మానిటర్ నుండి LED ని నియంత్రించడం
మీరు కోడ్ను అప్లోడ్ చేసిన తర్వాత, మీరు ఏదైనా సీరియల్ మానిటర్ను 9600 బాడ్ రేట్లకు తెరవవచ్చు. నేను ఆర్డునో సీరియల్ మానిటర్ను ఉపయోగించుకునే సౌలభ్యం కోసం ఉపయోగించాను. రీసెట్ బటన్ నొక్కండి మరియు మీరు “కమాండ్ ఎంటర్” సందేశాన్ని చూడాలి. అప్పుడు మీరు 1 ఎంటర్ చేసి ఎంటర్ నొక్కండి, ఆన్-బోర్డ్ లీడ్ ఆన్ చేయాలి, అదేవిధంగా 0 కోసం, అది ఆపివేయబడాలి.
ఈ పేజీ దిగువన లింక్ చేయబడిన వీడియోలో పూర్తి పని చూడవచ్చు. మీకు ఏవైనా ప్రశ్నలు ఉంటే, దయచేసి వాటిని వ్యాఖ్య విభాగంలో ఉంచండి. ఇతర సాంకేతిక ప్రశ్నలను పోస్ట్ చేయడానికి మీరు మా ఫోరమ్లను కూడా ఉపయోగించవచ్చు.
STM8S సీరియల్ లైబ్రరీ డీపర్ లుక్
STM8S103F3_ సీరియల్ హెడర్ ఫైల్ లోపల వాస్తవానికి ఏమి జరుగుతుందో తెలుసుకోవాలనుకునే ఆసక్తిగల మనస్సులకు ….
ఈ హెడర్ ఫైల్ బిగినర్స్ లెవల్ ప్రోగ్రామింగ్ కోసం బాగా పనిచేస్తుంది, కానీ మీరు STM8S కంట్రోలర్ యొక్క వేరే వెర్షన్ను ఉపయోగిస్తుంటే లేదా కొన్ని అధునాతన ఎంపికల కోసం చూస్తున్నట్లయితే, మీరు ఈ హెడర్ను కొంచెం సర్దుబాటు చేయాలనుకోవచ్చు లేదా నేరుగా SPL లైబ్రరీలతో పని చేయవచ్చు. నేను ఈ హెడర్ ఫైల్ను UART1 హెడర్ ఫైల్ నుండి పండినట్లుగా వ్రాసాను, నా హెడర్ ఫైల్ యొక్క వివరణ ఈ క్రింది విధంగా ఉంది.
సీరియల్ మానిటర్ నుండి అక్షరాన్ని చదవడం
ఈ ఫంక్షన్ సీరియల్ మానిటర్ నుండి మైక్రోకంట్రోలర్కు పంపబడిన ఒకే అక్షరాన్ని చదవడానికి సహాయపడుతుంది.
చార్ సీరియల్_రెడ్_చార్ (శూన్యమైనది) {అయితే (UART1_GetFlagStatus (UART1_FLAG_RXE) == రీసెట్); UART1_ClearFlag (UART1_FLAG_RXNE); తిరిగి (UART1_ReceiveData8 ()); }
రిసెప్షన్ పూర్తి చేయడానికి RXE జెండా సెట్ అయ్యే వరకు మేము వేచి ఉండి, ఆపై రిసెప్షన్ను గుర్తించడానికి జెండాను క్లియర్ చేయండి. చివరగా, ఈ ఫంక్షన్ ఫలితంగా మేము అందుకున్న 8-బిట్ డేటాను పంపుతాము.
సీరియల్ మానిటర్కు అక్షరాన్ని ముద్రించడం
ఈ ఫంక్షన్ మైక్రోకంట్రోలర్ నుండి సీరియల్ మానిటర్కు ఒకే అక్షరాన్ని ప్రసారం చేస్తుంది.
శూన్య సీరియల్_ప్రింట్_చార్ (చార్ విలువ) {UART1_SendData8 (విలువ); (UART1_GetFlagStatus (UART1_FLAG_TXE) == రీసెట్); // పంపడం కోసం వేచి ఉండండి}
ఫంక్షన్ కేవలం 8-బిట్ విలువను వ్రాస్తుంది మరియు UART1_FLAG_TXE ని SET కి తనిఖీ చేయడం ద్వారా ప్రసారం పూర్తయ్యే వరకు వేచి ఉంటుంది.
సీరియల్ కమ్యూనికేషన్ను ప్రారంభిస్తోంది
ఈ ఫంక్షన్ అవసరమైన బాడ్ రేటుతో సీరియల్ కమ్యూనికేషన్ను ప్రారంభిస్తుంది.
శూన్య సీరియల్_బిగిన్ (uint32_t baud_rate) {GPIO_Init (GPIOD, GPIO_PIN_5, GPIO_MODE_OUT_PP_HIGH_FAST); GPIO_Init (GPIOD, GPIO_PIN_6, GPIO_MODE_IN_PU_NO_IT); UART1_DeInit (); // UART పెరిఫెరల్స్ UART1_Init (baud_rate, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TX) // (బౌడ్రేట్, వర్డ్లెగ్త్, స్టాప్బిట్స్, పారిటీ, సింక్మోడ్, మోడ్) UART1_Cmd (ENABLE); }
బాడ్ రేటు కాకుండా, డేటా బిట్ల సంఖ్య, స్టాప్ బిట్ల సంఖ్య, సమానత్వం వంటి సీరియల్ కమ్యూనికేషన్ కోసం ఇతర పారామితులు కూడా అమర్చాలి. సర్వసాధారణమైనది (ఆర్డునో మాదిరిగానే) 8-బిట్ డేటా ఒక స్టాప్ బిట్ మరియు సమానత్వంతో మరియు అందువల్ల ఇది డిఫాల్ట్ సెట్టింగ్ అవుతుంది. అవసరమైతే మీరు దాన్ని మార్చవచ్చు.
సీరియల్ మానిటర్కు పూర్ణాంకం ముద్రించడం
చాలా సమయం, మేము డీబగ్గింగ్ లేదా పర్యవేక్షణ కోసం సీరియల్ మానిటర్ను ఉపయోగిస్తుంటే, టైప్ Int యొక్క వేరియబుల్ను సీరియల్ మానిటర్కు ప్రింట్ చేయాలనుకుంటున్నాము. ఈ ఫంక్షన్ ఖచ్చితంగా చేస్తుంది
శూన్య సీరియల్_ప్రింట్_ఇంట్ (పూర్ణాంక సంఖ్య) // సీరియల్ మానిటర్కు పూర్ణాంక విలువను ముద్రించడానికి ఫంక్షన్ {చార్ కౌంట్ = 0; చార్ అంకెల = ""; అయితే (సంఖ్య! = 0) // పూర్ణాంకానికి చార్ శ్రేణికి విభజించండి {అంకెల = సంఖ్య% 10; లెక్కింపు ++; సంఖ్య = సంఖ్య / 10; } ఉండగా (లెక్కించు! = 0) // సరైన దిశలో చార్ శ్రేణిని ముద్రించండి {UART1_SendData8 (అంకెల + 0x30); (UART1_GetFlagStatus (UART1_FLAG_TXE) == రీసెట్); // కౌంట్ పంపడం కోసం వేచి ఉండండి -; }}
ఇది పూర్ణాంక విలువలో పడుతుంది మరియు దానిని మొదటి సమయంలో లూప్లో అక్షర శ్రేణికి మారుస్తుంది, తరువాత రెండవ లూప్లో, మన ప్రింట్ చార్ ఫంక్షన్కు సమానమైన ప్రతి అక్షరాలను పంపుతాము.
క్రొత్త పంక్తిని ముద్రించడం
క్రొత్త పంక్తిని ముద్రించడానికి ఇది ఒక సాధారణ పని. అలా చేయవలసిన హెక్స్వాల్యూ “0x0a”, మేము దానిని 8-బిట్ ట్రాన్స్మిట్ కమాండ్ ఉపయోగించి పంపుతున్నాము.
శూన్య సీరియల్_న్యూలైన్ (శూన్యమైనది) {UART1_SendData8 (0x0a); (UART1_GetFlagStatus (UART1_FLAG_TXE) == రీసెట్); // పంపడం కోసం వేచి ఉండండి}
సీరియల్ మానిటర్కు స్ట్రింగ్ను ముద్రించడం
మరొక ఉపయోగకరమైన పని ఏమిటంటే వాస్తవానికి సీరియల్ మానిటర్లో తీగలను ముద్రించడం.
సీరియల్_ప్రింట్_స్ట్రింగ్ (చార్ స్ట్రింగ్) void. చార్ i = 0; (స్ట్రింగ్! = 0x00) {UART1_SendData8 (స్ట్రింగ్); (UART1_GetFlagStatus (UART1_FLAG_TXE) == రీసెట్); i ++; }}
మళ్ళీ, ఈ ఫంక్షన్ స్ట్రింగ్ను చార్ అర్రేగా మారుస్తుంది మరియు ప్రతి అక్షరాన్ని పంపుతుంది. మనకు తెలిసినట్లుగా అన్ని తీగలను అంతం శూన్యమవుతుంది. కాబట్టి మనం శూన్య 0x00 కి చేరుకునే వరకు అక్షరాలను అడ్డంగా మరియు ప్రసారం చేస్తూనే ఉండాలి.
చదవడానికి సీరియల్ డేటా అందుబాటులో ఉందో లేదో తనిఖీ చేస్తోంది
చదవడానికి సిద్ధంగా ఉన్న బఫర్లో ఏదైనా సీరియల్ డేటా ఉందా అని ఈ ఫంక్షన్ తనిఖీ చేస్తుంది.
bool Serial_available () {if (UART1_GetFlagStatus (UART1_FLAG_RXNE) == TRUE) తిరిగి TRUE; లేకపోతే తిరిగి తప్పు; }
ఇది UART1_FLAG_RXNE జెండా కోసం తనిఖీ చేస్తుంది, ఇది నిజమైతే, అది నిజం అవుతుంది మరియు అది కాకపోతే, అది తప్పుగా వస్తుంది.