-
wie jetzt,aus der bas datei eine hex,die hex datei wird vom bascom-
programm beim compilieren doch erstellt.die hex kannst du mit
pony-prog dann laden.aber warum benutzt du nicht gleich bascom zum
brennen des controllers.
das programm noname65 läuft bei mir im simulator.aber wenn du die waitms 100 gebrauchst ist das evll zu schnell und du siehst nicht das deine led an und wieder aus geht.wenn dem nicht so ist schreibe mal genau was du machen möchtest.hast du eigentlich deine fehler erkannt in deinem programm?
-
Jao meine Fehler hab ich erkannt.
Welches Programm benutzt du denn ? Mit Basecom AVR kann ich jedenfalls keine Bascom Datein als Hex speichern.
-
ich habe bascom avr als demo geladen und arbeite damit schon eine weile.die vollversion möchte ich mir noch zulegen,aber bis jetzt reicht mir die demo.wenn du den bascom-code compilierst wird auch eine hex erstellt,gehe in den ordner wo deine bascom-datei steht und schaue dir die liste an.wenn dein bascom programm z.b. noname65.bas heisst,stehen darunter noch andere mit diesem namen und auch eine
noname65.hex.du musst nätürlich unten die anzeige einschalten dateityp:"all files(*.*)".
also melde dich nochmal wenns geht.
-
hallo, jetzt habe ich mal probiert was du gesagt hast.pony mit bascom-datei gefüttert.was du da erhältst ist keine hex programm im pony prog,sondern der angebliche hex-code den du da siehst ist nur einer vom text.also kein lauffähiger code.du musst schon im bascom deinen geschrieben code compilieren mit f7. oder du drückst den icon ,den zweiten rechts neben dem fernglas.ist das so richtig wie ich das verstanden habe.
-
Hi jetzt hab ich nochmal ne Frage. Hab jetzt mein Relai Modul fertig.
Dazu muss ich die Ausgänge B Komplett C Komplett und D die ersten
3. An den 4. von D soll der Taster zum starten.
Wie muss ich da diese zeilen hier ändern ?
Code:
Ddrd = &B11100000 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
-
Kann keiner mehr helfen ?
-
also ,dir wäre besser geholfen wenn du mal die fragen im ganzen satz schreiben würdest,mit deiner frage kann keiner etwas anfangen.nur muss ich feststellen das du vom programmier noch nicht viel ahnung hast.hast du schon mal ein lauflicht für deinen mc geschrieben,dabei kannst du viel lernen.
ich möchte nicht behaupten das ich gut proggen kann,aber ich lerne bei meinen programmen immer dazu.auch wie man einen port definiert,so das er macht was ich will.
-
Hallo,
die von mir oben zitierte Codestestelle gibt ja an welche pins von welchem port eingänge und welche Ausgänge sind.
Ich wollte wissen wie der code aussehen muss wenn ich alle pins von port b, alle pins von port c und alle pins von port d als ausgang haben will.
-
config portb = output
config portc = output
config portd = output
-
Ich hatte mich jetzt selber schonmal etwas eingelesen un esso verwirklicht:
Code:
$regfile = "m16def.dat" 'definieren des verwendeten Chips
$crystal = 8000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Dim Main2 As Long
Config Pinb.0 = Output
Config Pinb.1 = Output
Config Pinb.2 = Output
Config Pinb.3 = Output
Config Pinb.4 = Output
Config Pinb.5 = Output
Config Pinb.6 = Output
Config Pinb.7 = Output
Config Pinc.0 = Output
Config Pinc.1 = Output
Config Pinc.2 = Output
Config Pinc.3 = Output
Config Pinc.4 = Output
Config Pinc.5 = Output
Config Pinc.6 = Output
Config Pinc.7 = Output
Config Pind.0 = Output
Config Pind.1 = Output
Config Pind.2 = Output
Config Pind.3 = Output
Config Pind.4 = Input
Main1:
A = 0 'variable der zeit auf null 'Hauptprogramm
Do 'Anfang der Schleife
If Pind.4 = 1 Then Goto Main2 'Wenn an Pin 2 von Port D ein high level anliegt, dann...
Loop 'diese loop hat gefehlt
Main2: 'main2: ist hier -> dein unterprogramm
Do ' start der schleife
Waitms 100 ' wartezeit eine sekunde
A = A + 1 'variable un eins erhöhen
If A = 5 Then ' bei 1 minute
Portb.0 = 1 'port einschalten
End If
Waitms 10
Portb.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 6 Then ' bei 1 minute
Portb.1 = 1 'port einschalten
End If
Waitms 10
Portb.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 7 Then ' bei 1 minute
Portb.2 = 1 'port einschalten
End If
Waitms 10
Portb.2 = 0
If A = 8 Then ' bei 1 minute
Portb.3 = 1 'port einschalten
End If
Waitms 10
Portb.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 9 Then ' bei 1 minute
Portb.4 = 1 'port einschalten
End If
Waitms 10
Portb.4 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 10 Then ' bei 1 minute
Portb.5 = 1 'port einschalten
End If
Waitms 10
Portb.5 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 11 Then ' bei 1 minute
Portb.6 = 1 'port einschalten
End If
Waitms 10
Portb.6 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 12 Then ' bei 1 minute
Portb.7 = 1 'port einschalten
End If
Waitms 10
Portb.7 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 13 Then ' bei 1 minute
Portc.0 = 1 'port einschalten
End If
Waitms 10
Portc.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 14 Then ' bei 1 minute
Portc.1 = 1 'port einschalten
End If
Waitms 10
Portc.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 15 Then ' bei 1 minute
Portc.2 = 1 'port einschalten
End If
Waitms 10
Portc.2 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 16 Then ' bei 1 minute
Portc.3 = 1 'port einschalten
End If
Waitms 10
Portc.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 17 Then ' bei 1 minute
Portc.4 = 1 'port einschalten
End If
Waitms 10
Portc.4 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 18 Then ' bei 1 minute
Portc.5 = 1 'port einschalten
End If
Waitms 10
Portc.5 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 19 Then ' bei 1 minute
Portc.6 = 1 'port einschalten
End If
Waitms 10
Portc.6 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 20 Then ' bei 1 minute
Portc.7 = 1 'port einschalten
End If
Waitms 10
Portc.7 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 21 Then ' bei 1 minute
Portd.0 = 1 'port einschalten
End If
Waitms 10
Portd.0 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 22 Then ' bei 1 minute
Portd.1 = 1 'port einschalten
End If
Waitms 10
Portd.1 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 23 Then ' bei 1 minute
Portd.2 = 1 'port einschalten
End If
Waitms 10
Portd.2 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
If A = 24 Then ' bei 1 minute
Portd.3 = 1 'port einschalten
End If
Waitms 10
Portd.3 = 0 'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
'Portd.5 wieder ausgeschalten
'nicht portd.0 =0
Loop Until A > 25 'zeit abgelaufen schleife verlassen
'***** Zeit abgelaufen *************************
Goto Main1 'rücksprung zum start
End 'end programm
Es gibt aber ein Problem. Sobald das ControllerboardStrom bekomt, fängt das Programman zu laufen, ohne ds ich den Taster gedrückt habe.