[HWnews] 8051 serial v C

Jiří Sloupenský jsloupensky@ktuo.cz
Pátek Duben 2 22:36:49 CEST 2004


Pokud jste si s tím ještě neporadil tak pár poznámek.  Sériový port u 8051
doporučuji obsluhovat  rozhodně přes přerušení, tak že se píše do bufferu a
při příchodu významného znaku ( Enter ) se záznam zpracuje a to nejlépe
odzadu, t.j.  od Enter, aby se vyloučil případný náhodně vygenerovaný znak
při zapnutí nebo  inicializaci. Pak se buffer smaže a čeká se znovu na
Enter.

Pokud chcete obsluhovat i vysílání přes přerušení, je třeba na začátku
programu do vysílacího SBUF dát nějaký znak, který se sice nevyšle, ale
nahodí správně TI.   Nedávno jsem to  řešil a dost mě to potrápilo.  Docela
by mě zajímalo, jestli někdo zná důvody nebo nějaké jiné řešení. Nikde jsem
o tom nic nenašel.


Zdraví            J. Sloupenský



----- Original Message -----
From: "Prichy" <prichy@volny.cz>
To: <Hw-list@mailman.nethouse.cz>
Sent: Friday, April 02, 2004 5:23 AM
Subject: [HWnews] 8051 serial v C


> Zdravi vsechny a prosim o nasmerovani.
>
> potrebuji v cecku osetrit seriovou komunikaci -
> mcu by mel prijmout string zakonceny "enterem"
> nasledne (dle obsahu) odpovedet.
> Zatim to mam takto:
> ----------------------------------------------
> void seriak (void)  {
> code char a[]="Firmware1.00";
> data char buf [10];
> gets (buf, sizeof (buf));
>   if (!strcmp(buf,"MT")) puts (a);
>   }
> -------------------------------------------
> v hlavni smycce:
> ------------------------------------------
> if (RI) seriak();
> ------------------------------------------
>
> Vse funguje jakztakz, ale za predpokladu, ze komunikace z PC
> do MCU probehne OK. Jsem si vedom, ze to tak nemusi byt
> vzdy :) a rad bych se na to pripravil.
> Navic nastava problem, ze pri pripojenem zarizeni pri
> zapnuti ci vypnuti compu pravdepodobne vygeneruje(???) flag Ri a
> skoci to do podprogramu, kde ceka na znak konce radku.
> Nemam k dispozici zadne ladici hw nastroje pouze soft. simulator -
> (Tam se vse chova OK)
> na lcd mi bezi hodiny, ktere pak jiz nejdou, takze se spis domnivam,
> ze to tak nejak bude.
>
> Muzete mi, prosim poradit, kde delam chybu, ci co udelat jinak.
>
> Tisicere diky.
>
> Přichy
> http://prichy.wz.cz
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> HW-list@mailman.nethouse.cz
> http://nethouse.cz/mailman/listinfo/hw-list




Další informace o konferenci Hw-list