Gast
#454011
hi, programmiere in assembler einen atmega 16 mit avr studio als isp verwende ich ein jtagice mkII. nun hab ich das problem, dass mein programm bei einem aufruf eines unterprogramms bis zum return befehl durchläuft und dann zu einer falschen stelle zurückspringt. mein uc ist in einem gerät eingebaut, dass eine spannung steuert. wenn ich nun eine spannung eingebe, die eine 5 nach dem komma hat, springt dass unterprogramm falsch. bei allen anderen zahlen springt er richtig. wie kann das sein? weil eigentlich rufe ich dass up nach meiner eingabe auf. dann wird ja die rücksprungadresse auf den stack gelegt und beim return wird wieder die rücksprungadress vom stack geholt. wenn der uc falsch springt, springt er nach PC D4D. wie kann ich in avr studio die sprünge genau nachvollziehen? ich komm nur in den disassembler aber da seh ich ja eigentlich nicht bevor der uc zurückgesprungen ist, wohin er als nächstes geht? hoffe mir kann jemand helfen bin schon langsam am verzweifeln :-( gruß schorsch
