Redarding sériové prijímača a vysielača

Som odporúčame použiť sériové prerušiť a vyrovnávacia pamäť pre príjem sériových dát. Je to lepšie.
 
Code:
 # include # include Rx (), Tx (), void main (void) {SCON = 0x42; TMOD | = 0x20; TH1 = 0xFA, TR1 = 1; TI = 1, Rx ();} rx () {while (1) {(RI = 1), ACC = 0000; ACC = SBUF, P1 = ACC, Tx (), RI = 0; Rx ();}} Tx () {ACC = (ACC + 4Cool, SBUF = ACC, while (TI) {} TI = 0;.
kód je úplne zlý a nemalo by fungovať v prvom rade musíte zneužiť, zatiaľ čo slučka, druhá Rx funkcia volá sama seba, nekonečné slučky v nekonečnej slučke. Najprv sa dozvedeli o prerušenie služby bežné (ISR), potom zaisťujú prenos prerušenia (Rx, Tx) v ich príslušných ISR. ako iní navrhli, že bude lepšie zaviesť vyrovnávací schéma pre ISR.
 
mali by ste najprv návrate z ISR inak, ako môžete znovu vstúpiť do nej na akciu?
Rx () {while (1) {(RI = 1), ACC = 0000; ACC = SBUF, P1 = ACC, Tx ();---------------- ----------------- chyby odstrániť RI = 0; Rx ();---------------------- ----------- chyby odstrániť}}
 
Po odstránení dvoch (tx (), RX ()) POZOR ukazuje ako nemiestne segment ignorovaný Segment overlay proces? pr? TX? RxTx?
 
Dobrý deň, vylúčiť funkciu definície Tx a Rx. Dúfam, že ste urobil s ISR kódom. Čo sa týka S. Rajesh Kumar
 

Welcome to EDABoard.com

Sponsor

Back
Top