PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie Dividieren mit 16F84A und AN617 Fixed Point Routines?



CorsabMatrix
17.05.2007, 16:54
Hallo,
ich habe folgendes Problem:
Ich will mit einem PIC16F84A Dividieren.
Da ich gesehen habe das Microship anscheinend dafür schon fertige Sub-Routinen hat,
will ich diese benutzen.
Ich habe mir dafür die AN617 Source Code - Fixed Point Routines von Microship
genommen.

Wenn ich jetzt als Beispiel 8:4 Rechnen will ,wie mache ich das dann?
In der Anleitung steht da nur:
The results of the division process for AARG/BARG,
satisfy the relation
„AARG = BARG * QUOTIENT + REMAINDER“,

aber was heißt das jetzt genau?

Und wo ist in diesen Divisionsroutinen der Unterschied , ist doch beides 8bit?
FXD0808S, FXD0808U,

Was muss ich alles Includen?

Könntet ihr mir vielleicht ein kleines Beispiel Programm machen?



Gruß Matrix

CorsabMatrix
19.05.2007, 11:59
Ich habe jetzt herausgefunden das Vermutlich AARG / AARG = ACC gerechnet werden muss.
Jetzt wollte ich mal ein kleines Testprogramm ablaufen lassen, aber da bringt er mir bei der Ausführung von „Build All“ , immer ganz viele von diesen Fehlermeldungen:

Error[113] C:\\TEST DIV\FXD88.A16 372 : Symbol not previously defined (TEMP)

Obwohl alles in der math16.inc definiert ist, in dem obigen Fall steht in der mat16 der Eintrag:
TEMP equ 0x1F

Also ist doch alles definiert?

Folgende Dateien sind include:

#include P16f84A.INC
#include MATH16.INC
#include FXD88.A16


Warum bringt er mir jetzt aber ständig die Fehlermeldungen „Symbol not previously defined „???

Ich hoffe ihr könnt mir Helfen, ich bin völlig Ratlos