Interrupt-Problem mit Bascom+M16

Gast #109399
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 =)
Gast #109401
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
Gast #109402
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
Gast #109403
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 :-( !!!!
Gast #109404
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
Gast #109405
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
Gast #109406
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren