PIC10F322のデバッグ(on MPLAB SIM)終了 [PICkit3]
(2012.01.31)
MPLAB SIMを使ったPIC10F322のデバッグが終了しました。”TMR2、IOC、NCO割り込みが入らない”とか”TMR0割り込みとStimulusの時刻が一致しない”とか、色々不都合な点もありましたが、無理やり押さえ込んで(詳細はこちら)、ロジックに誤りが無いことを確認しました。
テスト仕様はこんな感じです。
1.初期状態(sync_sequence = IDLE_CHECKで起動する)
Break on Initialize@main()
Reset & Run
Break at Initialize
Step Over
==> sync_sequence = 0
==> T2CON = 0x04
==> PR2 = 0xC7
==> INTCON = 0xE8
==> PIE1 = 0x12
2.アイドル状態検出(sync_sequence = IDLE_CHECKでSERIAL_IN = 1が3cycle以上継続するとsync_sequence = START_BIT_SYNCになる)
Read stim2.sbs
Stimulus Set High RA2 fired
Break on TMR2IF
Break on check_idle_common
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 0
==> PORTA = 0x04
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 1
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 2
Run
break at check_idle_common
==> sync_sequence = 0
==> idle_count = 3
Step Over
==> sync_sequence = 1
==> idle_count = 3
==> INTCONbits.IOCIF = 0;
==> INTCONbits.IOCIE = 1;
==> T2CONbits.TMR2ON = 0;
==> PIR1bits.TMR2IF = 0;
同様に以下の項目について、確認手順と確認項目を記してテストを実施しました。
3.STARTビット検出
4.受信
5.コマンド処理
6.送信準備
7.送信
次はコントローラ側のデバッグですが、予定よりかなり遅れているのが心配です。
MPLAB SIMを使ったPIC10F322のデバッグが終了しました。”TMR2、IOC、NCO割り込みが入らない”とか”TMR0割り込みとStimulusの時刻が一致しない”とか、色々不都合な点もありましたが、無理やり押さえ込んで(詳細はこちら)、ロジックに誤りが無いことを確認しました。
テスト仕様はこんな感じです。
1.初期状態(sync_sequence = IDLE_CHECKで起動する)
Break on Initialize@main()
Reset & Run
Break at Initialize
Step Over
==> sync_sequence = 0
==> T2CON = 0x04
==> PR2 = 0xC7
==> INTCON = 0xE8
==> PIE1 = 0x12
2.アイドル状態検出(sync_sequence = IDLE_CHECKでSERIAL_IN = 1が3cycle以上継続するとsync_sequence = START_BIT_SYNCになる)
Read stim2.sbs
Stimulus Set High RA2 fired
Break on TMR2IF
Break on check_idle_common
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 0
==> PORTA = 0x04
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 1
Run
break at TMR2IF
==> sync_sequence = 0
==> idle_count = 2
Run
break at check_idle_common
==> sync_sequence = 0
==> idle_count = 3
Step Over
==> sync_sequence = 1
==> idle_count = 3
==> INTCONbits.IOCIF = 0;
==> INTCONbits.IOCIE = 1;
==> T2CONbits.TMR2ON = 0;
==> PIR1bits.TMR2IF = 0;
同様に以下の項目について、確認手順と確認項目を記してテストを実施しました。
3.STARTビット検出
4.受信
5.コマンド処理
6.送信準備
7.送信
次はコントローラ側のデバッグですが、予定よりかなり遅れているのが心配です。
|
|
|
コメント 0