UART příjem

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

UART příjem

#1 Příspěvek od toMajstr »

dobrý den, mohl by jste mi někdo poradit s rozhraním uart v assembleru?
Potřebuju aby pic zjistil jestli něco přichází a když ano tak aby to uložil do w.
Zkouśel jsem hledat ale všechno bylo v céčku.
předem dík za odpověď

Uživatelský avatar
ohryzek36
Příspěvky: 2369
Registrován: 24 pro 2008, 01:00
Bydliště: Zlínsko

#2 Příspěvek od ohryzek36 »

Nemělo by stačit povolit v přerušení přerušení od USARTu (přes registr INCON a PIR1), identifikovat ho podle bitu RCIF, možná trochu pohledat chyby podle RCSTA a pak jen "movf RCREG,W" ?

(teda - tak je to u PIC18F452)

Možná jsem ale napsal blbost - mám nehoráznou kocovinu :? .

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#3 Příspěvek od toMajstr »

Pochopil jsem že přerušení někam skočí aniž bych něco pořád hlídal kódem ale nevím jak to napsat :(

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#4 Příspěvek od toMajstr »

nešlo by to udělat tak že by se program zastavil (zacyklil) a počkalo by to až to něco přijme a pak by to šlo dál?

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#5 Příspěvek od ZdenekHQ »

Obecně příjem znaku buď jen nastaví příznaky, nebo rovnou skáče (a tím vyvolá přerušení hlavního programu) na nějaké místo, kde leží podprogram obsluhy příjmu znaku, jeho čtení atd.

Co v tu chvíli dělá hlavní program je téměř jedno...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#6 Příspěvek od toMajstr »

a je nějakej příkaz co by mi zjistil jestli něco přichází?

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#7 Příspěvek od ZdenekHQ »

To je těžká debata, já používám ATMELY a Ty zase nevíš, jak probíhá obsluha přerušení, co se musí povolit a kam to pak popř skáče.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#8 Příspěvek od toMajstr »

no to nevím ale představoval bych si to asi takhle: pokud přichází data pokračuj jinak se vrať o jeden řádek nahoru potom by se trěba mohla rozsvítil ledka (čtení dat bych dodělal později)

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#9 Příspěvek od forbidden »

Úplně dole mám demo program. Z toho to jde celkem pochopit. Vzhledem k tomu, že nic jinýho nedělá, nepoužívá přerušení. V reálné aplikaci by to přes přerušení bylo lepší.
Mimochodem, připadá mi, že na to všechno jdeš moc rychle. Nejdřív bych se naučil pořádně základy, pak můžeš pokročilejší věci jako USART atd...

Uživatelský avatar
Chenzee
Příspěvky: 464
Registrován: 26 čer 2007, 02:00
Bydliště: Vysočina

#10 Příspěvek od Chenzee »

Odpověď na tvoji otázku tu máš od "ohryzka". Když koukneš do datasheetu, nejspíš tam najdeš vzorky potřebného kódu a všechny informace, které k tomu potřebuješ. Jestli jsi jej četl a nerozumíš tomu, je to jen důkaz toho, že je nutné začít něčím jednodušším pro pochopení základních principů. Pak ti to začne dávat smysl. Ignorovat totiž použití přerušení a zadřít program pouze na testu příjmu slova je možné pouze při testu, v reálné aplikaci je to v podstatě nepoužitelný.
Žádnej učenej z nebe nespadl ...

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#11 Příspěvek od toMajstr »

díky, ale jsou tam místa kterým nerozumím jako třeba k čemu jsou ty proměný, nebo co je příznak a a je toho víc...

Uživatelský avatar
forbidden
Příspěvky: 8808
Registrován: 14 úno 2005, 01:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#12 Příspěvek od forbidden »

To jen dokazuje, že máš začít od začátku.

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#13 Příspěvek od toMajstr »

kdyby na to byla nějaká online učebnice tak, s tím nemám problém (vím že je jich spoustu anglicky), ale já projíždím net a když mě něco zaujme tak to zkusím...
poraďte prosím čím bych měl začít

Uživatelský avatar
serviceman
Příspěvky: 4005
Registrován: 09 črc 2013, 02:00

#14 Příspěvek od serviceman »

toMajstr píše:poraďte prosím čím bych měl začít
Angličtinou.
Nebojte se skloňovat (i cizí slova).

Uživatelský avatar
toMajstr
Příspěvky: 332
Registrován: 10 lis 2013, 01:00

#15 Příspěvek od toMajstr »

na svojí angličtině pracuju ale jde to dost pomalu :(

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“