Ik werk al een tijdje aan een codeslot met rotatie-encoder. Maar ik wil de microcontroller PIC16F84 vervangen door een ATTINY2313. De software heb ik via elektuur gedownload maar staat dus geprogrammeerd als .asm / .hex. Omdat ik de microcontroller vervang door de ATTINY2313 moet ik de software ook kunnen converteren naar .BAS(bascom). Ik kan dus enkel een beetje overweg met bascom. Enig idee, hoe ik hieraan moet beginnen?
Alvast bedankt

dat wordt een onmogelijke klus, het 'terugvertalen' van assembler naar basic is zeer moeilijk. en dan ook nog eens porteren naar een andere controller is bijna onmogelijk zonder uitgebreide ervaring. Je kunt eventueel proberen om de PIC-assembler om te zetten naar ATTINY-assembler, maar dat is handwerk, en vereist ervaring in beide controllers.
Je moet begrijpen wat de assembly-code in de PIC doet, en hoe je in atmel-assembler hetzelfde gedaan krijgt in de ATTINY.

de simpelste oplossing is om toch gewoon die originele PIC te gaan gebruiken.

maar waarom moet je terug naar Bascom, je hebt de HEX file voor de Atmel, dus dat moet toch in te laden zijn.

en hoe zit het met de pin compabiliteit ?

@shortcircuit: nee, hij heeft de hex-file voor de PIC zegtie... althans, zo vat ik het op. Pin-compatibaliteit is nog wel een issue, althans, tenzij hij zelf een PCB ontwerpt of breadbord gebruikt ofzo. (of misschien is het met wire-patches te doen, als het niet al te veel afwijkt)

@Totale D: Omzetten naar basic is zoals DC2PCC al zei een onmogelijke klus. Dat komt er eigenlijk op neer dat je je verdiept in de werking van het programma aan de hand van assembly (die wel direct uit de .hex-file is te verkrijgen met een disassembler) en vanuit daar eigenlijk zelf nieuwe code (in basic) schrijft. Op zich niet onmogelijk dus, vooral bij een project als deze is de code nou niet bijster ingewikkeld denk ik. Maar het betekent wel dat je er zelf het nodige van moet snappen, een applicatie die deze klus automatisch voor je uitvoert bestaat niet.

lijkt me inderdaad wel mogelijk om de asm te analyseren en dan de basic hiervoor te schrijven.

zal waarschijnlijk niet veel bijzonder zijn diene asm.

post anders eens de asm code zodat we eens mee kunnen piepen...

Als je de asm al hebt, waarom dan niet porten naar asm van de ander?
Als je van asm naar basic port ga je geheid de mist in met timing's

De beste oplossing is denk ik toch het spul even vanaf scratch schrijven. Zo spannend zal een codeslot niet zijn, en je hebt een hele aardige kans dat features op die AVR net even anders in elkaar zitten zodat je toch de helft opnieuw moet maken.
Verder is basic toch al lekker standaard (niet dus) en als je het dan nog op een uC gaat draaien, wordt dat er niet beter op. Met C had ik je nog een kleine kans gegeven, maar met basic is zoiets volkomen zinloos.

Op 11 april 2007 06:26:00 schreef Marco69:
Met C had ik je nog een kleine kans gegeven, maar met basic is zoiets volkomen zinloos.

Leuk, van ASM terug naar C, levert ook niet de best bruikbare code op meestal.

Vandaar ook 'kleine kans' :)

Post de code eens zou ik zeggen, genoeg meedenk-animo zoals je ziet :)

Ja, heb gisteren ook al naar de source gevraagd.

veel meer dan enkele if then's, for nexts of while wends structuren zullen daar niet in zitten.

Op 10 april 2007 19:54:39 schreef elektron_:
[...]
Wakker worden ! De ASM is van een Pic

Lezen! Die staat er ook bij.

Op 11 april 2007 11:08:23 schreef Totale D:
rechtermuisknop, doel opslaan als:
http://members.lycos.nl/deechte01101001/codelock.asm

Och, mooier kan bijna niet! Dit is dus geen .hex maar complete originele .asm met duidelijke labels en commentaar in de source! Kwestie van flow-control ombouwen naar basic (basic voor uC.. not my flavour, doe mij maar C, maargoed) en de tussenliggende statements interpreteren en ombouwen (hetgeen met het commentaar best zou moeten lukken).

edit: display.asm wordt ook nog ge-include, dus die ook omzetten...
Nog meer hulp nodig: ook schema posten, maar denk aan copyrights

[Bericht gewijzigd door Jochem op ]