Hallo liebe Elektronikfreunde...
Hab gestern folgendes CRC-Testprogramm geschrieben:
1 | _calculate_hard_crc:
|
2 | ;BTSS CRCCON,#CRCFUL ;CRCFUL?
|
3 | ;BRA _end_hard_crc ;NEIN!
|
4 | BSET CRCCON,#CRCGO ;Starte CRC
|
5 | _wait_hard_crc:
|
6 | BTSS CRCCON,#CRCMPT ;fertig?
|
7 | BRA _wait_hard_crc ;NEIN!
|
8 | NOP
|
9 | NOP
|
10 | NOP
|
11 | NOP
|
12 | NOP
|
13 | BCLR CRCCON,#CRCGO ;Beende CRC. Ergebnis -> CRCWDAT
|
14 | _end_hard_crc:
|
15 | RETURN
|
16 |
|
17 |
|
18 | .global _CrcHardTest
|
19 | _CrcHardTest:
|
20 | MOV #0x000f,w0 ;PLEN<3:0> auf 0xf
|
21 | MOV w0,CRCCON
|
22 | MOV #0x8005,w0 ;Generatorpolynom laden
|
23 | MOV w0,CRCXOR
|
24 | CLR CRCWDAT
|
25 | MOV #0x8d23,w0 ;Testdaten 8d23
|
26 | MOV w0,CRCDAT
|
27 | CALL _calculate_hard_crc
|
28 | MOV #0xf034,w0 ;Testdaten f034
|
29 | MOV w0,CRCDAT
|
30 | CALL _calculate_hard_crc
|
31 | MOV #0x0000,w0
|
32 | MOV w0,CRCDAT
|
33 | CALL _calculate_hard_crc
|
34 | RETURN
|
Leider tut sich im Simulator im SFR: CRCWDAT gar nüscht.
Sollte aber laufen hab mich an die C-Applikation der Application Node
AN1148 von microchip gehalten. Kann es sein das die Funktion in der
Simulation nicht integriert ist? Unter Select Device hab ich aber ein
grünes Lämpchen bei MPLAB SIM. RATLOS!