[elektro] PIC, TRMT
Móczik Gábor
pm_levlista at progzmaster.hu
Fri Sep 20 23:58:23 CEST 2013
2013.09.20. 16:14 keltezéssel, potyo írta:
> Persze, hogy akármi lehet, ezért nézed meg, hogy EGYIDEJŰLEG egyes-e a TXIE
> és a TXIF. Ha igen, akkor van hely a TXREG-ben, beleteszel valamit. Ha ezek
> ketten nem egyesek egyidejűleg, akkor nincs hely a TXREG-ben, vagy pedig
> Főprogramban, vagy bárhol, akár megszakításban, ha előáll küldeni való
> adat, akkor betenni a küldendő pufferbe az adatot, majd TXIE=1, ezután
> azonnal jönni fog egy megszakítás, és a megszakítás teszi bele a TXREG-be
> az első bájtot. Ezután jönni fog mégegy megszakítás, mert még mindig van
> hely a TXREG-ben a dupla pufferelés miatt, tehát mégegy bájtot beleteszel.
> Ha esetleg csak egyetlen bájtot akartál küldeni, akkor az első után azonnal
> tiltod is a TXIE-t.
>
> A dupla belépést elkerülheted, ha a megszakításban nem if-et használsz,
> hanem while-t:
> while (TXIF && TXIE)
> {
> ...
> }
Látom te is leírtad már korábban, végülis én is ugyanezt írtam.
Ez a while ciklus viszont jó ötlet, nekem nem jutott eszembe!
More information about the Elektro
mailing list