bascom sw uart

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
funkykutya

bascom sw uart

Hozzászólás Szerző: funkykutya »

Sziasztok!

Már megint egy kezdős probléma : :)
A bascom nem akar szimulálni szofveres uart-ot.
Ha hw uartal valósitom meg a dolgokat, gyönyörüen irkál a szimulátor terminál ablakába, viszont a szoftveres uartal semmit nem csinál :(

Ime az egyszerü tesztprogramom amivel próbálkoztam

Kód: Egész kijelölése

$regfile "2313def.dat"
$crystal = 4000000

Do
   Open "comb.0:9600,8,n,1" For Output As #1
   Print #1 , "irjadcsakki"
   Close #1
Loop
End
kalibráltam már itt, szabályoztam már ott, szétgugliztam a netet, de a terminál képernyője tök üres maradt... :(
Hooligan01

Hozzászólás Szerző: Hooligan01 »

Próbáld meg igy:

Kód: Egész kijelölése

$regfile "2313def.dat"
$crystal = 4000000
$sim   ' <--- ez kell a szimuláciohoz

Do
   Open "comb.0:9600,8,n,1" For Output As #1
   Print #1 , "irjadcsakki"
   Close #1
Loop
End 

De vigyázz, ne hagyd bent a $sim -et ha már a prociba töltöd a programot!!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

SWUart NEM küldhető a szimulátorban a terminálemulátorra!

A portok megjelenítésénél látod, hogy valami mozog a PortB-n.
A SWemu nem való UART, hanem a chip _leszimulálja_ a jeleket a lábon.
funkykutya

Hozzászólás Szerző: funkykutya »

Igen, azt én is megfigyeltem hogy zizeg valami a portb-n :(

Tulajdonképpen nagyon egyszerü vezérlésre kell, csak egy rs232-es "csomagot" akarok analizálni. Megnézem még a többi utasítást, hátha át birom rakni ezt egy változóba.

Köszi a helpet!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

PC-re nem lehet a csomagok kiküldeni Hyperterminalba?

SWSorosport necces bascomból... Írni még csak-csak...
http://www.tavir.hu - a gazda :)
funkykutya

Hozzászólás Szerző: funkykutya »

Próbáltam már azt is Robert, de a hiperterminál egyből beszól hogy valami használja a comportot...

Amúgy megvan a megoldás!

Már PIC-eknél jó szolgálatot tett az Oshon által gyártott pic simulator IDE.
Felnéztem az oldalukra, és van AVR-ekhez is, nem is akármilyen!

Van benne direkt szoftveres uart szimulálás, és egy csomó hasznos dolog (mondjuk oszcilloszkóp szignálgenerátor satöbbi :)
Van egy beépitett basic szerkesztője is, de az sajnos nem kompatibilis a bascom-al.

http://www.oshonsoft.com/
Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

Hozzászólás Szerző: 7kaz »

Hogy is van ez akkor?

Adott egy M32-es. HwUART-on keresztül akarok egy másik hw-rel kommunikálni, és swUART-on keresztül a PC-vel (UART-USB átalakítón keresztül). Akkor ezzel gondok lesznek?
Egy időben csak az egyik UART-ot kell használni, egyszerre sosem.

Hozzá se fogjak akkor? :?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

SWUart megy, én is így használom. Amire vigyázni kell: Ha az SWUartra detektálod hogy jött valami (nálam inkey(#1)), akkor átlépek a beállítómenübe. Itt csak Input és Print használható SWUARTra! Minthogy szimulált, így Interrupt ne zavarja meg a kommunikációt!

Ha ezekre vigyázol, teljesen stabil.
Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

Hozzászólás Szerző: 7kaz »

Nálam az lenne, hogy egy lábat figyelnék megszakítással. Ha az billen, akkor hw UART-ról beolvasna pár dolgot, majd ezután sw UART-on menne a kommunikáció. Ha ez lezajlik, akkor vissza a portláb figyelésre. A soros kommunikációk alatt nem lenne megszakítás.

Akkor ez elvileg így járható út?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A HWUart be- vagy kifele megy?
Utána a SWUART ad vagy vesz?

Amúgy elvileg járható az út. SW sorosport vétele érdekes lehget,. Itt a Waitkey illetve az Input használható kb. stabilan.
Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

Hozzászólás Szerző: 7kaz »

HWUART kétirányú, SWUART csak ad (a PC felé).

De azzal, hogy az SW-nél macerás a vétel, nekem újat mondtál. Azt gondoltam, hogy input-tal simán megy a dolog. Akkor ez mégsem egy-az-egyben UART, csak éppen szoftveresen megoldva? Ajjaj! :?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

SW vétel Input #1-l megy. Ami macerás: inkey(#1).
Nem olyan rossz az. Az edás teljesen jó SW sorosporttal, csak ne legyen közben INT, ami a jelet meghamisítja!
Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

Hozzászólás Szerző: 7kaz »

Az inkey miért macerás?
(Int nem lesz közben).
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Inkey a parancs kiadásakor nézi, hogy bejön-e valami adat abban a pillanatban...
Nem vár, nincs fel/lefutó él.


Ha a bill kódja ami jön a lábon (a 0000.000 jelzi hogy nincs adat):
00000000 / 01100101 / 00000000

Ha időben adom ki az inkey(#1)-t, akkor az a / jeltől nézi, így megkapom a jót.
Ha előbb / később indul (/ /jelek közt van az adat)
000000 / 00011001 / 01000000.00 (korábban)
0000000001 / 10010100 / 000000 (később)

Hát nem igazán az amire vártam.... (00011001 illetve 10010100 kód)...


Talán így követhető az inkey(#1)....
Válasz küldése