Stránka 1 z 1

ATTINY 13A /ATMEGA 8 a aplikace UARTU

Napsal: 21 lis 2014, 04:31
od franta22
Zdravím všrchny.
Potřebuji rutinu v assembleru pro nastaveni procesoru ATTINY 13A na praci s UARTEM -eventuelně pro ATMEGU 8.
.....
1. požadavek 9600Bd ,data bit 8 , parita none , stop bit 1 s internim oscilátorem
....
2. požadavek 19200Bd ,data bit 8 , parita none , stop bit 1 s internim oscilátorem
....
3. požadavek 9600Bd ,data bit 8 , parita none , stop bit 1 s krystalem
HODNOTA KRYSTALU =?
.....
4. požadavek 19200Bd ,data bit 8 , parita none , stop bit 1 s krystalem
HODNOTA KRYSTALU =?
....
Taky mi není jasné na jakých vývodech bude Rx a Tx ???
....
Pokud to ATTINY13 neumí tak evidentně to umí ATMEGA8.
a stejnej dotaz by platil pro ATMEGU 8
...
Děkuji moc za radu .

Napsal: 21 lis 2014, 15:57
od FHonza
ATTiny13 nemá UART ani krystal. Docela srozumitelný popis k USART/UART nalezneš tady. A rozhodně koukni do datasheetu

Napsal: 21 lis 2014, 20:25
od franta22
pravda ATTINY UART ani krystal nemá ale je to řešitelné
1. procesor analyzuje rychlost UARTU od mastru
2.následně odešle READY do mastru.
3.podprogram pro Rx a Tx je jen věc napsání assemblerické rutiny
..................
Mělo by to fungovati i pro pidi procesory za předpokladu stability interniho
oscilátoru. Pro nižši rychlosti přenosu . :Ale pro programátory píšicí program ve vyššim jazyce to je asi špaňalská řeč .
Nedám dopustit na assembler :D :idea: :arrow: :idea: a zpět

Napsal: 24 lis 2014, 13:41
od FHonza
Tvému dotazu absolutně nerozumím, nejdřív píšeš o nastavení.
Potřebuji rutinu v assembleru pro nastaveni
V další části pak chceš UART řešit softwarově. V tom případě nechápu proč se ptáš na jakých pinech bude Rx a Tx
Taky mi není jasné na jakých vývodech bude Rx a Tx ???
V případě čistě softwarové emulaci si je přeci můžeš nastavit na který pin chceš.
1. procesor analyzuje rychlost UARTU od mastru
Protože nemluvíš "špaňalskou řečí" a na assembler nedáš dopustit, tak jistě pro tebe nebude problém napsat v "assemlerické rutině" rekonstrukci hodin s dolní propustí i s interním oscilátorem, který má nestabilitu udávanou výrobcem kolem 2% vlivem teploty a kolísání napájecího napětí.
Pro jednu konkrétní přenosovou rychlost je čistě softwarových řešení na internetu poměrně dost.
2.následně odešle READY do mastru.
Doteď sem nevěděl, že se v asynchronním režimu posílá nějaké "READY" ve fyzické vrstvě.

Napsal: 24 lis 2014, 17:26
od franta22
Nejsem profesionální diskutér ...chtěl jsem poradit .
Hodiny s internim oscilatorem dovedu napsat .Přiřazení pinu pro RX a TX
je ,mi jasné . Napsanej podprogram pro konkrétní rychlost UARTU bych tedy velmi uvítal ...pokud možno v assembleru .
Jeho napsání jsem vzdal ...
Podařilo se mi napsat Opakovací rutinu z Rx na Tx pro libovolnou rychlost
UARTU ale změřt rychlost mastru se mi nedaři a taky napsaní dalšiho programu pro přijem a odeslání stále nemám .
....................................
Pokud tedy rutina v assembleru pro AVR UART s interním oscilátorem a pro předem danou rychlost přenosu - existuje velmi rád ji použiji
...................................
Na netu jsem ji stále nenašel .
Děkuji za minulý přispěvek a i za budoucí radu .

Napsal: 24 lis 2014, 20:53
od franta22
Už mi to snad došlo :assynchronní přenos 8 dat , 1 stop a 1 start
1. zvolím si přenosovou rychlost např . 600Bd ... z toho plyne
doba start pulsu 1,666msec.......
2. Dalších osm datových pulsů zabere 1,666 x 8 = 13,3msec...
za tuto dobu přesunu v času +0,8333/D0/ + 1,666msec/D1/......./D7/ hodnoty z pinu Rx do registru přijímače.
3. Vyslani na pin Tx s časovkou 1,666ms by neměl bejt problém s interním oscilátorem ........
větši rychlosti UARTU potom obdobně ....
...............................................................
Poslední dotaz rychlost v Bd určuje počet pulsů za 1 sec ???

Napsal: 29 lis 2014, 13:54
od frpr666
Samozřejmě attiny13A je super čip, ale nemá hardwarový UART.
Přidej pár kč navíc a kup atmega8 nebo atmega8a. Ušetříš hodiny ladění kódu v asm.
Tuhle jsem viděl, že kompletní arduino pro mini (čip, krystal, stabilizátor) lze koupit za $2.

Napsal: 29 lis 2014, 17:50
od franta22
Máš pravdu ATTINY 13 je nejvýkonnějši procecesor co se rozměrů a ceny týká = MÁ NEJLEPŠI POMĚR VÝKONU / CENĚ ´+ ROZMĚRŮM ..
uart PRO INTERNÍ OSCILÁTOR MI UŽ FUNGUJE TAM I ZPĚT AKORÁT SE DEFINUJE RYCHLOST MOJÍM ORIGINÁLNÍM ZPŮSOBEM PRO int.osc.
..............
fachá pro 600 ...9600 Bd ...Tx I 3X VÝŠE !!!
..............
Dalši klony ATMEGA8 , ATMEGA 324 a 624 a ATTINY 26 mám objednané a i v šuplíku ...čekají až na ně dojde řada ..
.............
Pro skutečné aplikace je ale jedno jakou řadu AVR nebo MCS51 použiješ
spíše není jedno za jak dlouho odladíš perfektní SW ...
PROTO JE TREBA STALE STUDOVAT ASSEMBLER A NENECHAT SE OPIT
KOMERCIALIZACÍ V PODOBĚ BALIKŮ SW A BALIKŮ KITŮ
............
a OBČAS VSTOUPIT NA BASTLIRNU :idea: :arrow: :idea: A :?: :?: :?: