LED kapcsolás sorosporton át

A Liberty Basic - ami a Bascomhoz hasonló nyelvezettel bír - csak PC grafikus felületéhez...
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

Egy picit elakadtam... :?
Egy ledet szeretnék egy AVR-en keresztül kapcsolgatni PC-ről.
Liberty Basic oldalról a kód igy néz ki:

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

[InitColors]
ForegroundColor$ = "Black"
BackgroundColor$ = "Buttonface"
TexteditorColor$ = "White"
TextboxColor$ = "White"
ComboboxColor$ = "White"
ListboxColor$ = "White"

[WindowSetup]
NOMAINWIN
WindowWidth = 484 : WindowHeight = 307
UpperLeftX = INT((DisplayWidth-WindowWidth)/2)
UpperLeftY = INT((DisplayHeight-WindowHeight)/2)

[ControlSetup]
button  #main.Button1, "Led bekapcsolva", [Button1.click], UL, 162, 108, 120, 35
button  #main.Button2, "Led kikapcsolva", [Button2.click], UL, 162, 160, 120, 35
statictext  #main.StaticText1, "Led kapcsoló", 46, 54, 377, 18

Open "LED kapcsoló" for Window as #main
#main "font MS Sans Serif 8"
#main "trapclose [quit]"

[loop]
Wait

[quit]
close #main : END

[Button1.click]
open "com1:4800,n,8,1,ds0,cs0,rs" for random as #1
print #1, "1"
close #1
Wait

[Button2.click]
open "com1:4800,n,8,1,ds0,cs0,rs" for random as #1
print #1, "2"
close #1
Wait
Bascom oldalról pedig:

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

$crystal = 1000000
$regfile = "m32def.dat"
$baud = 4800

Dim Beolvasott As Byte
Config Portd.7 = Output

Eleje:
Input Beolvasott

If Beolvasott = 1 Then
Portd.7 = 1
Else
Portd.7 = 0
End If
Goto Eleje
AVR felprogramoz, program elindit - a ledet be tudom kapcsolni a gombra kattintva, ill ki tudom kapcsolni a másik gombra kattintva
Azonban többször nem sikerül bekapcsolni a ledet
A hiba Liberty Basic oldalról lesz, mert terminál emulátorban szépen működik...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Bascom program eseten:

Egy alert mező nem rakható debugként a két rutinba?
Hogy másodjára nem küldi ki, vagy nem fut rá?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Liberty 404-ben kipróbáltam.
Adat kiküldés megy.

Hülye tipp:
PC oldalon küldés: Print "1";

AVR oldalon fogadás: waitkey() vagy inkey()

Robert
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

Liberty-ből kimenni kimegy az utasítás, csak valamiért az AVR nem tudja értelmezni...

inkey()-el és waitkey()-el egyáltalán nem megy :?
inputtal egyszer tudom bekapcsolni a ledet és egyszer ki
utána amig nem programozom az AVR-t ujra vagy nem inditom ujra nem tudom bekapcsolni a ledet...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Az én véleményem szerint ASCII kódot küldesz: print #1, "2"

És Byte-ot vársz: Input Beolvasott

Itt pedig mindegy mit kapsz az else ág mindig végrehajtódik:
If Beolvasott = 1 Then
Portd.7 = 1
Else
Portd.7 = 0
End If
8)
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

de a legelső indulásnál a gomb lenyomásával be tudom kapcsolni a ledet - ha karakterként értelmezné akkor elvileg itt sem menne a bekapcsolás

kipróbáltam a print #1, 2 utasítással is

az eredmény így is ugyanaz...
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

ujabb fejlemény :D

Séma a következő:
AVR felprogramoz
library basic program elindít

majd rákattintok a led bekapcsoló gombra, led világít.
Ha ekkor mégegyszer ugyanerre a gombra kattintok, a led kialszik
Akkor is kialszik a led, hogyha a led kikapcsolása gombra kattintok.

ezután akármit csinálok a ledet nem lehet visszakapcsolni.

namost ha az avr-t ujrainditom ( a programot közben nem zárom be), akkor ugyanugy egyszer be lehet kapcsolni a ledet meg egyszer ki
és többször nem- amig az AVR nincs ujrainditva...

komolyan nem értem :roll:
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Én AVR oldalon ki írnám, mit kapok!
Mert küldhet Bármi +
Vagy Vizsgáld Stringre

SELECT CASE Beolvasott
CASE „1” : statements
CASE „2” : statements ]
CASE ELSE : statements
END SELECT
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Igaz nem belső RC oszcillátorról fut az AVR, hanem kvarcról? :roll:
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

nem neeem

párszor már megjártam belső oszcival.. azóra csak kvarcot...

de kicseréltem egy 4MHzesre
a probléma továbbra is fennáll...

ejj menniyvel könyebb dolgom lenne ha lenne egy működő lcd kijelzőm...
na mindjárt előbányászok egyte a lomosból és bekötöm

- mostmár kezd nyugtalanitani a dolog...
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Nemjó!
3.6864 , 7.3728, 9.216 , 14.746MHz
18.432MHz Ezek a jók!
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

műűűködiiik
neked volt igazad :D

Bascom oldalról string*1 ként kell érelmezni beolvasott adatot még akkor is ha a liberty basic oldalról print #1,1 utasitással küldöm ki
fura...

egyszerübb lenne az élet ha számként értelmezné...

köszönöm a segítséget :P
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Ha számként küldöd: azaz a byte-kódként.. Ezzel rengeted hibát viszel be:
"0" - ezt hogy küldöd át?



Küldd így:
"B" és "K" (Be- és Kikapcsol)
Avatar
Theophrast
SzínkódFestő
Hozzászólások: 78
Csatlakozott: 2011. július 17. vasárnap, 6:00

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

Ebben igazad van :roll:

Am hogyha mondjuk beállitási adatokat, értékeket akarok küldeni akkor az olvasott stringet AVR oldalon vissza kell alakitanom mindig számmá?

ill ha pl mért hőmérsékleteket küldök vissza az AVR-től akkor azt is stringbe alakitsam küldés előtt?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

A sztring előnye:
Soros monitorprogrammal _látod_ mi megy át...

Pl: Sysinternals/PortMon szoftvere
Válasz küldése