14k50 のデバッグ [PIC]
デバッガが使えないからめんどくさい。
だれか便利なやりかたしってたら、教えてください。
14k50はというか、18Fはどうも、割り込み側のコードは側でさらに関数を使うのは、ネストを深くできない。スタックが浅いので。
割り込みロジック側で、関数を使うと、スタックが飛んで、帰ってこなくなるみたい。
CODEセグメントの関数のネストは、割といけるようなんで、へんてこなスタックを作ってるんだろうけど。
それにしても、
ループするようにはみえないよなあ。
だれか便利なやりかたしってたら、教えてください。
14k50はというか、18Fはどうも、割り込み側のコードは側でさらに関数を使うのは、ネストを深くできない。スタックが浅いので。
割り込みロジック側で、関数を使うと、スタックが飛んで、帰ってこなくなるみたい。
CODEセグメントの関数のネストは、割といけるようなんで、へんてこなスタックを作ってるんだろうけど。
それにしても、
134: while(1){ 28AE D7E9 BRA 0x2882 135: LATCbits.LATC2=1; 2882 848B BSF 0xf8b, 0x2, ACCESS 136: if (v<0x7f){ 2884 0E7F MOVLW 0x7f 2886 0100 MOVLB 0 2888 AFB9 BTFSS 0xb9, 0x7, BANKED 288A D002 BRA 0x2890 288C 90D8 BCF 0xfd8, 0, ACCESS 288E D003 BRA 0x2896 2890 5DB8 SUBWF 0xb8, W, BANKED 2892 0E00 MOVLW 0 2894 59B9 SUBWFB 0xb9, W, BANKED 2896 E202 BC 0x289c 137: LATCbits.LATC2=1; 2898 848B BSF 0xf8b, 0x2, ACCESS 138: }else { 289A D001 BRA 0x289e 139: LATCbits.LATC2=0; 289C 948B BCF 0xf8b, 0x2, ACCESS 140: } 141: v&=0xff; 289E 0100 MOVLB 0 28A0 6BB9 CLRF 0xb9, BANKED 142: procEvent(); 28A2 ECF0 CALL 0x3e0, 0 28A4 F001 NOP 143: v++; 28A6 0100 MOVLB 0 28A8 2BB8 INCF 0xb8, F, BANKED 28AA 0E00 MOVLW 0 28AC 23B9 ADDWFC 0xb9, F, BANKED 149: } 150: 163: } 28B0 0E1C MOVLW 0x1c 28B2 5CE1 SUBWF 0xfe1, W, ACCESS 28B4 E202 BC 0x28ba 28B6 6AE1 CLRF 0xfe1, ACCESS 28B8 52E5 MOVF 0xfe5, F, ACCESS 28BA 6EE1 MOVWF 0xfe1, ACCESS 28BC 52E5 MOVF 0xfe5, F, ACCESS 28BE CFE7 MOVFF 0xfe7, 0xfd9 28C0 FFD9 NOP 28C2 0012 RETURN 0
ループするようにはみえないよなあ。
コメント 0