Forum: Mikrocontroller und Digitale Elektronik Interrupt-Problem mit Bascom+M16


von anfänger (Gast)


Lesenswert?

Hi Leute!

Im Prog aus dem Anhang funktionieren aus mir unerklärlichen Gründen die
Interrupts nicht! Jedenfalls im Simulator. In Echt hab ichs noch nicht
ausprobiert. Die Hardware dafür existiert noch garnicht. Erst hatte ich
als Chip den M8535 eingestellt und da lief alles einwandfrei. Seitdem
ich aber auf M16 umgestellt habe funktioniert der Int0 (bzw. alle
Interrupts) nicht mehr. Vielleicht kann sich einer von euch das
Programm mal angucken und den Fehler finden :-) Das wär echt klasse!

Danke im Vorraus, anfänger.

achja, bitte nicht über meine Programmierweise meckern. das ist alles
noch lang nicht fertig und ich bin auch noch nicht so der Profi =)

von anfänger (Gast)


Angehängte Dateien:

Lesenswert?

anhang vergessen

von harry (Gast)


Lesenswert?

hi,

sollte eigentlich gehen wenn im header noch das 'm16def.dat'
eingebunden wird.
ansonsten 2 massive fehler im programm:

1. jemand wird (wenn auch nur virtuell) totgeschossen.
2. der Tod (mit d) aber:
   zitat: lcd "du bist tod" nuss hier tot (mit t) geschrieben
werden.

glaube aber nicht, dass deshalb die interrupts nicht funzen.

fröhliches geballere noch, gruss, harry

von Axel (Gast)


Lesenswert?

Coool!
geht das mit mehereren Spielern, erklär mal...

Wie ist das in den Interupt routinen? einfach RETURN, oder vielleicht
END ISR oder sowas? Bei meinem Basic heisst es im Int. END INTERRUPT,
in einer Subroutine END SUB.
Leider gibt BASCOM, soweit ich weiss, keinen asm-code mit aus.
Vielleicht lädst du mal das *.cof oder das*.obj file ins AVR-Studio und
simulierst dort.
Axel

von anfänger (Gast)


Lesenswert?

hab das def-file jetzt mit eingebunden und die "massiven" fehler
beseitigt. die interrupts gehen aber immmer noch nicht. man muss das
def-file ja eigentlich auch nicht einbinden, wenn man den prozessortyp
unter "options->compiler->chip" angibt.

aber woran könnte das noch liegen, dass die interrupts nicht
funktionieren??? vielleicht hat der simulator einen bug?!? hab
diesbezüglich aber nichts im inet finden können.

bitte helft mir :-( !!!!

von harry (Gast)


Lesenswert?

hi nochmal,

warum die im simulator nicht tun weiss ich nich, ich simulier nie,
immer gleich rein in den proc.

definiert sind din int's und timers korrekt, enabled auch, also werden
sie auch funktionieren.

ich verwend auch viel den m16, definiere die int's und timers genauso
und sie funtzen.

kannst du dem simulator auch einen pegelwechsel mitteilen, dass es
weiss, jetzt int auslösen?


gruss, harry

von anfänger (Gast)


Lesenswert?

hi axel.
sorry hab deinen beitrag irgendwie überlesen.

also mittlerweile glaube ich wirklich, dass es eher am simulator als am
code liegt.

das ganze wird sowas ähnliches wie das system von www.lasergame.de aber
ich will erstmal ein bißchen kleiner anfangen. wie man im code sieht
sind bis jetzt 8spieler möglich. theoretisch liesse sich das momentan
aber auf 256 erweitern. sorry, hab grad nich so viel zeit. willst du
noch mehr drüber wissen? kannst ja mal unter den links auf der
lasergame-page gucken. da gibts viel interessantes material. vor allem
zur optik.

mfg, anfänger

von anfänger (Gast)


Lesenswert?

so, schon wieder was überlesen :-(

also, harry:

ich kann dem simulator keinen pegelwechsel mitteilen. aber es irritiert
mich total, dass das ganze auf nem m8535 im simulator problemlos läuft
und auf dem m16 nicht. da die hardware noch nicht existiert kann ichs
halt leider auch nicht in echt ausprobieren. vielleicht probier ich
wirklich mal den simulator vom avr-studio aus. aber da muss ich mich
erstmal einarbeiten :-( ...naja, egal.

von anfänger (Gast)


Angehängte Dateien:

Lesenswert?

bohr ey! ich versteh beim simulator des avr studios 4 nur bahnhof. ich
bin wahrscheinlich zu bascom-verwöhnt. hat nicht einer mal lust, das
für mich auszuprobieren, der was davon versteht?

von anfänger (Gast)


Lesenswert?

kann denn wenigstens mal einer das bascom-programm bei sich im
bascom-simulator testen!?! vielleicht liegts ja an meiner
bascom-version.

bitteeeeeee!!!!!!!!!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.