Přerušení SERIOVEHO PORTU při přijetí dat=Enable Urxc BASCOM
Moderátor: Moderátoři
Přerušení SERIOVEHO PORTU při přijetí dat=Enable Urxc BASCOM
Hraju si teď s přerušením a to pro chvíli, kdy přijdou nějaké data na seriovy port atmegy.
Před vším vysvětlením musím napsat, že když nepoužiju přerušení, normálně seriový port na ATmega16 funguje a vše je OK zapojené.
Když použiju přerušení takto:
$regfile = "m16def.dat"
$crystal = 4000000
$baud = 9600
On Urxc Serialprijimadata
Dim Prijemznaku As byte
Enable Interrupts
Enable Urxc
Do
'...program
Loop
Serialprijimadata:
Prijemznaku = Inkey()
Waitms 100
Cls
Lcd Prijemznaku
Waitms 5000
Cls
Return
Prosím o tyto rady:
1)
Když přivedu napětí do obvodu, tak pokud nemám připojen seriovy kabel k portu Atmegy, tak se program zastaví na začátku a jakoby čeká než tento kabel než ho připojím.....vůbec se nedostane do smyčky: DO...LOOP
....a jakmile připojím seriovy kabel, najednou se vše rozběhne a skočí program do do - loop a i správně reaguje na příjem dat
Jak udělat to, aby program ignoroval nepřipojený seriovy kabel (seriovou linku) k uart portum atmegy a rozjel se i bez nepřipojeného kabelu?
2)
Jak prosím mám vyřešit příjem textu, například: "Zpráva přijata" tak, abych vypsal na LCD displej celý tento text a ne jen jednotlivé znaky?
Děkuji,
michalino
Proč mám řešit vysílač, když chci hlídat přerušení ve chvíli, kdy se objeví nějaké data na PŘIJIMAČI serioveho portu Atmegy?
Vysílání dat z atmegy funguje normálně v podprogramu.
Nefunguje mi ale program ve chvíli, kdy nemám připojený seriovy kabel k obvodu. To mi program nenajede ani do DO-LOOP. Najede až ve chvíli, kdy připojim seriovy kabel.
Nevim, jak udelat, aby když nemam připojený seriovy kabel, aby tento stav ATMEGA ignorovala a přešla z inicializační fáze do DO-LOOP
jak to udělat v bascomu, prosím?
Děkuji moc
A PROSÍM O HELP....
Kód: Vybrat vše
Prijemznaku = Inkey() omlouvám se, zkouším přerušení od serialu poprvé. ALe je to pravda, nechápu to přerušení tak, abych si dokázal s hodně věcma pohrát ke své spokojenosti.
Ale když se nenastartuje program a zadrhne se už při inicializaci, opravdu nevím, co dělat.
PROCESOR - děkuji, zkouším dát příkaz na různá místa, ale nefunguje......
proč to prosím přerušuje když ani nemám připojený obvod, na ktery je pripojen seriovy kabel a který zajišťuje seriovou komunikaci a tedy ani nema co přerušovat zvenčí, když seriova linka nic neprijima....? (Bude to asi ten problém, ve kterém jsem opravdu na začátku)
Potřebuju to takto přerušit, abych mohlprovádět základní program ve smyčce do loop a až ve chvíli, kdy něco přijde na seriovou linku ATmegy, tak se prováděný program přeruší na 5 sekund, kdy se ukáže na displeji, co přišlo za data na seriovou linku....
Neni to spravna cesta pouzit takove prerušení?
Děkuji
Je to strasne krasna vec pozorovat, jak to vsechno funguje.
A navic tak rychle. Nekdy tomu procesoru pred kazdy prikaz dam waitms 100, aby si po kazdem prikazu odpocinul a v klidu nabral sily na dalsi prikaz, aby proste se tam neco nezapinkalo do jinych registru a tak.
Zamiloval jsem se do tohoto konicku. Venuju se mu uz pres rok, kdy diky vam jsem pochopil zakladni kroky. Nejsem zadny prebornik a ani byt nechci, to patri jinym opravdovym odborniku, kteri chapou ty klikyhaky, kdyz si ctou o registrech a prerusenich apod.
Bavi me to, libi se mi to a jsou kolem toho vseho lidi s krví,které rozumím. Proto to chci v klidu a v pohode delat pro radost a nespecham na to.
Takze s prirovnanim k autum jak pise andrea:
Nekdo ma auto - at ho ma, preju mu ho a pokud ho umi ovladat lepe nez ja, pak mu to taky preju. Ja chci mit taky auto, vlastni a jednou ho budu mit, přátelé...vy ale jezdíte ve ferrari, zatímco já za vámi jedu na oslovi..proto se tady ptam, proto tady pisu, protoze vim, ze jste mi vzdycky pomohli toho osla nakopnout a popohnat...
Taky si ho muzu nechat v garazi a chodit ho kazdy vikend umyvat a leštit, jak to delavali dědové se staryma a tehdy proslulýma MBéčkama.
Mnozí co mají embéčka ještě dnes, taky se chodí kochat na jejich slávu do garáže a málokdo je takový borec, že by ho vytáhl na ty dnešní rychloproudovky...
Nechci se o tomto přít. Uznávám Vaši pravdu, že tomu nerozumím, ale nechci se těch pocitů v garáži vzdát...