Sida 3 av 3

Re: Hantera rs232 "kommandon" i pic

Postat: 10 februari 2009, 12:55:50
av sodjan
Om du lägger bufferten i UDATA_SHR så spelar inte IRP någon roll.
Normalt har man inte plats där (i SHR) för en hel buffert... :-)

> Jag använder ju UDATA_SHR och den fyller ju antagligen upp Bank0 först...

SHR är inte kopplat till någon bank alls. Den ligger över alla 4.

Och nej, den byter inte från UDATA_SHR automatiskt, då får ett felmedelande
från MPLINK när UDATRA_SHR är "full" så att säga...

Re: Hantera rs232 "kommandon" i pic

Postat: 10 februari 2009, 13:09:51
av Bosen
Jo felmeddelandet har jag fått när jag exprimenterade en hel del....
Men om jag lägger buffern i t.ex UDATA_OVR hur vet jag då vilken bank det hamnar?

Re: Hantera rs232 "kommandon" i pic

Postat: 10 februari 2009, 13:15:13
av Icecap
Är det viktigt?
Kör en "banksel Buffer"
Klart!

Re: Hantera rs232 "kommandon" i pic

Postat: 11 februari 2009, 22:18:29
av sodjan
Som Icecap säger, man behöver sällan *veta* vilken bank det hamnar i, det
finns sätt att skriva koden så att det bli helt transparent. Antingen genom att
ha saker i UDATA_SHR (då igen bank hantering behövs alls) eller genom att
lägga till kod som sätter rellevanta saker (t.ex RP0/RP1 för vanliga instruktioner
eller IRP för hantering via INDF). UDATA_OVR är lite speciell, se till att du
har läst på om den om du vil använda den. Annars kör du bara med UDATA
så allokeras det ur den bank där det för tillfället finnd plats.

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 08:58:06
av Bosen
...som jag har fattat så ersätter banksel alltid RP0/RP1. Men det ersätter alltså IRP också?

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 10:56:47
av sodjan
Nej, BANKSEL sätter RP0/RP1, men jag tror inte att den även sätter IRP.
Det får man kolla på annat sätt, genom att kolla om symbolen "buffer"
ligger i bank 0/1, bank 2/3.

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 11:06:35
av Bosen
hmm... dum fråga som inte sodjan kommer att svara på :D men:
Hur kollar man det då?

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 11:45:21
av sodjan
Sannolikt (alltså otestat) något i stil med :

Kod: Markera allt

   if buffer > h'FF'
      bsf   STATUS, IRP
   else
      bcf   STATUS, IRP
   endif
Du får testa själv...

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 12:11:04
av Icecap
eller

Kod: Markera allt

if high Buffer
  bsf STATUS, IRP
else
    bcf   STATUS, IRP
 endif

Re: Hantera rs232 "kommandon" i pic

Postat: 12 februari 2009, 12:51:33
av sodjan
OK, Icecap's exempel fungerar säkert också, men det bygger på att
man "vet" att ett värde > 0 = "true"... :-)

Alltså att om buffer > h'FF' så blir "high buffer" = h'01' vilket är logiskt "true".