Soros port (rs232)
Nagyon eltértünk a tárgytól.
kapu48!
Ha portként lenne az lcd definiálva, akkor igazad lenne. De pinként van definiálva, ilyenkor el lehet térni az azonosságtól.
Minden látszat ellenére végigjártam már pár szamárlétrát, valaha a 8 bites számítógépeket assemblerben programoztam - azt pedig nem 4 év alatt a fősulin tanultam meg, hanem hosszú évek alatt, de ilyen rejtélyes hibát még nem láttam. És biztosan lesz még ilyen máskor is.
Robi!
Az ellenállásos trükköt még kipróbálom. Nagyon meglepne, ha ezen múlna, de egy próbát megér.
Ez az uart-os dolog annyira már nem izgat, hiszen van más lehetőség is.
A változó rossz kezelése azonban nem áramköri hiba, ez biztos. Az is biztos, hogy ha kiveszem a megszakítást, máris észhez tér a proci. Ez sem áramköri probléma. Mivel még pici a kód, kipróbálom egy másik (kisebb) procival. Ha ott jó, akkor a 128-as kuka.
kapu48!
Ha portként lenne az lcd definiálva, akkor igazad lenne. De pinként van definiálva, ilyenkor el lehet térni az azonosságtól.
Minden látszat ellenére végigjártam már pár szamárlétrát, valaha a 8 bites számítógépeket assemblerben programoztam - azt pedig nem 4 év alatt a fősulin tanultam meg, hanem hosszú évek alatt, de ilyen rejtélyes hibát még nem láttam. És biztosan lesz még ilyen máskor is.
Robi!
Az ellenállásos trükköt még kipróbálom. Nagyon meglepne, ha ezen múlna, de egy próbát megér.
Ez az uart-os dolog annyira már nem izgat, hiszen van más lehetőség is.
A változó rossz kezelése azonban nem áramköri hiba, ez biztos. Az is biztos, hogy ha kiveszem a megszakítást, máris észhez tér a proci. Ez sem áramköri probléma. Mivel még pici a kód, kipróbálom egy másik (kisebb) procival. Ha ott jó, akkor a 128-as kuka.
Űdv!
Én Bascom kódfordítás hibára tippelek. Konkrétan a túl bonyolult LCD kezelés miatt. Megszakítás közben valamelyik használt regiszter felülíródik!
De lehet HW hiba is, mivel más részeknél is furcsán működik a rendszered.
Nem a tudásodat kérdőjeleztem meg, hanem próbáltam hibakeresésre tippet adni!

Én Bascom kódfordítás hibára tippelek. Konkrétan a túl bonyolult LCD kezelés miatt. Megszakítás közben valamelyik használt regiszter felülíródik!
De lehet HW hiba is, mivel más részeknél is furcsán működik a rendszered.
Nem a tudásodat kérdőjeleztem meg, hanem próbáltam hibakeresésre tippet adni!
Én pedig nem vettem mindezt zokon, csak jeleztem, hogy azért az astabil multivibrátoros villogót sem tegnap építettem meg (van annak már vagy 20 évekapu48 írta:Nem a tudásodat kérdőjeleztem meg, hanem próbáltam hibakeresésre tippet adni!
A segítségre bizony nekem is sokszor szükségem van, de azok jellemzően a Bascom-mal kapcsolatos problémák, hardveresen általában nem okoz problémát, amit meg akarok építeni.
Érdekes dolgok derültek ki közben:
Külföldi fórumokon találkoztam hasonló problémákkal, zömmel a nagyobb prociknál. Hogy ez fordító hiba, vagy valamilyen hardveres probléma, az persze nem derült ki.
Közben építettem egy másik kapcsolást, ami el tudja végezni az lcd vezérlését és a számításokat is. Igaz, hogy az M32-nek csak hw uart-ja van, nekem pedig kettő kellene, de ez most lényegtelen.
Ami fontos, s kipróbáltam:
-Ha pin-ben konfigurálom az lcd-t, akárhogy "kevertem" a lábakat, ez nem okozott a procinak problémát. Hogy mennyit lassított a program futtatásán, azt nem mértem, de nincs jelentősége a jelen alkalmazásban.
-Többféle uart-kezeléssel próbálkoztam, mindegyik működött.
(Megszakítássall, "sima" inputtal, ISCHARWAITING-el, stb.)
Konklúzió:
-Vagy a Bascom nem fordított rendesen, vagy az az egy M128-as hibás, amivel kűzdöttem.
(Közben rájöttem, hogy elég ide az M32 is, legfeljebb ha kell még valami hardveresen és elfogytak a lehetőségek, teszek mellé egy kisebb AVR-t.
)
Külföldi fórumokon találkoztam hasonló problémákkal, zömmel a nagyobb prociknál. Hogy ez fordító hiba, vagy valamilyen hardveres probléma, az persze nem derült ki.
Közben építettem egy másik kapcsolást, ami el tudja végezni az lcd vezérlését és a számításokat is. Igaz, hogy az M32-nek csak hw uart-ja van, nekem pedig kettő kellene, de ez most lényegtelen.
Ami fontos, s kipróbáltam:
-Ha pin-ben konfigurálom az lcd-t, akárhogy "kevertem" a lábakat, ez nem okozott a procinak problémát. Hogy mennyit lassított a program futtatásán, azt nem mértem, de nincs jelentősége a jelen alkalmazásban.
-Többféle uart-kezeléssel próbálkoztam, mindegyik működött.
(Megszakítássall, "sima" inputtal, ISCHARWAITING-el, stb.)
Konklúzió:
-Vagy a Bascom nem fordított rendesen, vagy az az egy M128-as hibás, amivel kűzdöttem.
(Közben rájöttem, hogy elég ide az M32 is, legfeljebb ha kell még valami hardveresen és elfogytak a lehetőségek, teszek mellé egy kisebb AVR-t.
Azt mondjuk nehéz elképzelni hogy hardwarehibával állunk szemben.
Nekem anno a Bascomra azért esett a választás mert elsőre
müködött az általa készített kód.A többi basic nyelvnél
már az elején olyan hibákba csusztam bele,hogy a bascom
lett a befutó.Amit azóta sem bántam meg.(Volt már olyan
fordító (most direkt nem írok nevet)ami a saját parancsait
nem volt hajlandó elfogadni.Pedig azt is megvásároltam)
A programozásban pedig az a szép hogy mindig van másik megoldás.
Irtad hogy külföldi fórum, de azt nem hogy a bascom-on belül?
Nekem anno a Bascomra azért esett a választás mert elsőre
müködött az általa készített kód.A többi basic nyelvnél
már az elején olyan hibákba csusztam bele,hogy a bascom
lett a befutó.Amit azóta sem bántam meg.(Volt már olyan
fordító (most direkt nem írok nevet)ami a saját parancsait
nem volt hajlandó elfogadni.Pedig azt is megvásároltam)
A programozásban pedig az a szép hogy mindig van másik megoldás.
Irtad hogy külföldi fórum, de azt nem hogy a bascom-on belül?
1.11.9.3 van jelenleg. Régóta nem néztem, hogy van-e már frissítés. Eddig nekem sem volt semmilyen gondom a Bascom-mal (leszámítva az eléggé foghíjjas súgóját).
Az AVR Freaks, ill. a Roboternetz fórumát olvasgattam. Ott voltak hasonló problémákra utalások. De hogy milyen fordítónál, arra nem emlékszem. Feltehetőleg volt közte Bascom is, a Roboternetz-en sok helyütt találkozni vele.
Robi, amit privátban küldtem, nem nézted?
Az AVR Freaks, ill. a Roboternetz fórumát olvasgattam. Ott voltak hasonló problémákra utalások. De hogy milyen fordítónál, arra nem emlékszem. Feltehetőleg volt közte Bascom is, a Roboternetz-en sok helyütt találkozni vele.
Robi, amit privátban küldtem, nem nézted?
Sziasztok!
A következő programrészben ha nincs benne a CLS akkor nem működik (nem küld vissza semmit a sorosporta és a PORTB-re kötött ledek se világítanak). Mi a baj?
A következő programrészben ha nincs benne a CLS akkor nem működik (nem küld vissza semmit a sorosporta és a PORTB-re kötött ledek se világítanak). Mi a baj?
Kód: Egész kijelölése
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 4800
Print "Start"
Wait 1
Dim Sorosport As String * 3
Dim Port As Byte
Config Portb = Output
Do
Cls
Inputbin Sorosport
Port = Val(sorosport)
Print "P: " ; Port ; " " ; "Sp: " ; Sorosport
'waitms 10
Portb = Port
Loop
End
Bence
Na megoldottam a problémát!
Kód: Egész kijelölése
$regfile = "m48def.dat"
$crystal = 1000000
$baud = 4800
Dim Sorosport As String * 3
Dim Port As Byte
Dim Portbin As String * 8
Config Portb = Output
Do
Inputbin Sorosport
Port = Val(sorosport)
Portbin = Bin(port)
Portb = Binval(portbin)
Loop
End
Bence
Sziasztok
Kissé belekavarodtam a soros adatfogadásba.
Egy kis segítség jól jönne.
Karaktersorozatokat kellene fogadnom , és a szerint történne valami változás.
Az "A" val működik a többivel nem .
Arra rájöttem hogy csak 1 karaktert fogad így.
Na de hogyan tovább??
próbáltam :serialin buffered=8 ... kaptam 1 sor hibaüzenetet.
Nem tudok megoldást.
Kissé belekavarodtam.
Kissé belekavarodtam a soros adatfogadásba.
Egy kis segítség jól jönne.
Karaktersorozatokat kellene fogadnom , és a szerint történne valami változás.
Az "A" val működik a többivel nem .
Arra rájöttem hogy csak 1 karaktert fogad így.
Na de hogyan tovább??
próbáltam :serialin buffered=8 ... kaptam 1 sor hibaüzenetet.
Nem tudok megoldást.
Kissé belekavarodtam.
Kód: Egész kijelölése
$regfile = "ATtiny2313.DAT"
$crystal = 4000000
$baud = 400
Echo Off
Config Porta = Output
Config Portd = Output
Config Portb = Input
Dim A As String * 8
Enable Interrupts
Enable Urxc
On Urxc Getchar
Foprog:
Waitms 400
Toggle Porta.1
Goto Foprog
Getchar:
A = Inkey()
Toggle Porta.2
If A = "A" Then
Toggle Portd.2
Wait 1
End If
If A = "BBBBBBBB" Then
Toggle Portd.3
Wait 1
End If
If A = "CS3" Then
Toggle Portd.4
Wait 1
End If
If A = "AJTOTAVK" Then
Toggle Portd.5
Wait 1
End If
Return
End
Kefeur