Autor |
|
|
|
BID = 134259
robodriver Stammposter
Beiträge: 217
|
|
Hi leute!
Habe einen AT90S1200 gekauft (War am günstigsten) und ihn wie im angehängten Bild gezeigt an den LPT eines 386er Rechners gehangen.
Auf diesem Rechner ist SP12 für DOS drauf!
Das funktioniert ja auch alles; mit sp12 -i erkennt er den µC und sagt sogar das er von Atmel ist (Wow!).
Habe folgendes Programm in Bascom geschrieben:
$regfile = "1200def.dat"
$crystal = 4433619
Ddrd = &B01000000
Portd = &B00100000
Do
If Pind.5 = 0 Then
Portd.6 = 1
Else
Portd.6 = 0
End If
Loop
End
Dieses Programm habe ich als Hex-Datei auf den µC gespielt. Hat auch Funktioniert. Mit sp12 -rp sehe ich das das Programm wirklich drauf ist.
Wenn ich den µC nun vom Rechner abklemme und an Strom hänge (5V) und den Reset auch auf 5V lege, müsste das Programm ja laufen. Jedoch passiert absolut nichts am Pin PD5, wenn ich den Pin PD6 auf Masse lege.
Habe es auch schon ohne den Pull Up probiert- ging auch nicht.
Ach ja: der Pull Up ist auch aktiviert (5V am Pin PD6).
Woran kann der Fehler liegen??????
(Könnt mich ruhig noch ein wenig ausfragen, kann alles messen; Strom, Spannung, was ihr wollt).
Bitte helft mir weiter!
Vielen Dank schonmal im vorraus!
Das Dateiformat *.bmp ist nicht erlaubt ! Denken Sie bitte an den Traffic ! Deswegen nicht hochgeladen
|
|
BID = 134267
ERDI-Soft Stammposter
Beiträge: 200 Wohnort: Offenburg
|
|
Hast du da nicht nen kleinen Denkfehler drin?
Zitat :
| Jedoch passiert absolut nichts am Pin PD5, wenn ich den Pin PD6 auf Masse lege. |
Laut Programm ändert sich D6, wenn du D5 auf Masse legst.
_________________
Wie immer gilt: Erst googeln, dann fragen!
(Für ICQ bitte erst Anfrage per PM, da alles andere nicht angenommen wird.) |
|
BID = 134629
robodriver Stammposter
Beiträge: 217
|
Oh sorry,
warn schreibfehler von mir.
Habe natürlich PD5 auf Masse gelegt und nich PD6!
Aber die LED bleibt aus!(Nicht das ihr jetzt fragt: die LED ist 100%ig ganz!)
Weiß jemand eine Lösung auf dieses Problem?
|
BID = 134653
Her Masters Voice Inventar
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 5309 Wohnort: irgendwo südlich von Berlin
|
Moin Moin.
Ich bin zwar eher mit PICs zugange aber ich denke das wird bei Atmels ähnlich sein. Wie hast du deinen Chip initialisiert? Meistens funken einem Interrupte oder WDT-Events dazwischen wenn man die nicht explizit abschaltet. Wie taktest du deinen Chip? Schwingt vielleicht der Oscillator nicht an?
_________________
Tschüüüüüüüs
Her Masters Voice
aka
Frank
***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************
|
BID = 135067
robodriver Stammposter
Beiträge: 217
|
Na ja, das mit dem Quarz hab ich auch schon mal überdacht, aber wenn ich ihn weglasse, erkennt der Rechner den µC garnicht mehr! Er erkennt ihn nur, wenn ein Quarz angehängt is. Und daraus schließe ich das er schon schwingt, aber genau weiß ich das nicht.
Wie finde ich am besten herraus ob er schwingt oder nicht, ohne noch irgend eine Testschaltung aufbauen zu müssen?
Da fällt mir ein: ist die Frequenz (4433619HZ) ok?
Laut Datenblatt kann ich bis 12MHZ gehen. Aber 4433619HZ ist so ne krumme Zahl.
|
BID = 135103
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Das ist die Crux bei Compilern, daß man nie weiß, welchen Maschinencode sie erzeugen.
Poste mal den erzeugten Assemblercode bzw. das Binärfile, dann sieht man vielleicht weiter.
Zitat :
| 4433619HZ ist so ne krumme Zahl. |
4,43 MHz ist die Frequenz vom Farbhilfsträger beim Fernsehen. Diese Quarze waren mal besonders billig. Heute kann man aber auch "glatte" Frequenzen preiswert bekommen.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 135282
Jornbyte Moderator
Beiträge: 7193
|
Du solltest statt der Massebrücke einen Taster einbauen, oder die LED drehen
_________________
mfg Jornbyte
Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.
|
BID = 135405
robodriver Stammposter
Beiträge: 217
|
An der LED liegt es nicht, die ist richtig gepolt! 100%ig (Arbeite schon eine sehr lange Zeit mit Elektronik!)
Und auch wenn ich mit dem Messgerät die Spannung messe ändert sich rein garnichts am PIN!
Was macht es für einen Unterschied ob ich einen Taster nehme oder das Ende eines Drahts auf Metall halte?
Habe die Binärfile schon mal abgefragt, der Code stimmt mit dem in der HEX-Datei überein!
Das einzige was mich daran verwundert:
Ist es Normal das aus z.B.: F492 auf dem µC 92F4 wird?
(Vergleich HEX-Datei mit sp12 -rp) Dieser Zahlendreher zieht sich über die gesamte Datei!!!
|
BID = 135653
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
| Und auch wenn ich mit dem Messgerät die Spannung messe ändert sich rein garnichts am PIN!
|
Hast du denn auch mal nachgemessen, ob der Eingangspegel wie gewünscht ist ?
Poste mal das Hexfile. Ich hab diesen Compiler nämlich nicht.
Auch mal ein Bild deines Aufbaus.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 135673
Midnight Stammposter
Beiträge: 256
|
Hallo,
hatte was Ein- und Ausgabe betrifft auch schon viel "Spaß" mit Bascom.
Ersetze mal bitte Deine Konfiguration der Pins in Bascom "Basic".
Also Config pind.5 = input und Config pind.6 = output.
Genuso ersetze mal bitte portd.6 = 1 durch Set Portd.6, und
portd.6 = 0 durch Reset portd.6.
Mal schauen ob es dann funktioniert.
Scheinbar schreibt Bascom sonst nur in das Port-Register, aber setzt den eigentlichen Port nicht.
Gruß
Simon
|
BID = 136670
robodriver Stammposter
Beiträge: 217
|
OK: habe die ganze Sache jetzt auf Config pind.5 = input und Config pind.6 = output geändert.
Die HEX-Datei hat sich dauch verändert.
Wenn ich das programm dann jedoch auf dem µC hab und es Starte, leuchtet die LED am pin D6 duchrweg, egal was ich mit Pin D5 mache!!!
Das ist doch nicht zu fassen!
Hat denn wirklich absolut niemand irgendeine Ahnung???
|
BID = 136702
Fritte Neu hier
Beiträge: 22
|
Was soll dein Code machen?
Die LED soll leuchten, wenn der POrt auf 0 gezogen wird?
Bin mehr Assembler-Progger
Hast du ans prellen gedacht oder an die tatsache, dass dein Auge schnelle EIN/AUS wechsel bei LEDs überhaupt nicht mehr erkennt.
Bau doch eine kleine Zeitverzögerung ein.
Gruss
Chriss
|
BID = 136714
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Zitat :
robodriver hat am 7 Dez 2004 12:24 geschrieben :
|
.....
Das ist doch nicht zu fassen!
Hat denn wirklich absolut niemand irgendeine Ahnung???
|
Solange du das Hexfile nicht postest, kann dir vermutlich nur ein Wahrsager helfen.
_________________
Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !
|
BID = 136808
MinceR Stammposter
Beiträge: 277
|
wie perl schon sagt, hex file uploaden. ma können dieses kleine progrämchen disassemblieren und dann simulieren bzw schauen wo wie welcher fehler vorliegt mithilfe vom AVR studio.
ähm du musst beim auslesen mit sp12 glaub ich noch was anderes machen ausser -rpf ich glaube -i brauchste noch .. mal nachgucken mit -? bei sp12 .... sp12 soll ne intel hex file machen. das ist dann das selbe format wie AVRstudio benutzt. also : sp12 -rpf -i lala.hex dann sollte sich der zahlendreher erledigt haben.
geb aber keine garantie :D
|
BID = 137040
robodriver Stammposter
Beiträge: 217
|
Na ja, habe mittlerweile 4 verschiedene HEX-Files für dieses Programm. (Mit pull-up, ohne; mit config pind.6 = output und so wie ganz am anfang beschrieben). Aber hier erst einmal eine Fassung davon:
:1000000003C0189518951895662480E481BB80E29A
:1000100082BB0027A0E38C9185FB0EF401E040E059
:10002000041709F002C0969A01C09698F2CFF8948E
:10003000FFCF3197F1F70895689462F80895E89436
:0400400062F80895C5
:00000001FF
Ich hoffe es hilft euch weiter und ihr könnt mir dann einen Tipp geben.
|