BASIC compiler/interpreter for PIC32MX/MZ-80K
修订版 | 886995e604d1f6d9dc17dd1ded1eece984c97c4f (tree) |
---|---|
时间 | 2019-05-01 09:09:12 |
作者 | Katsumi <kmorimatsu@sour...> |
Commiter | Katsumi |
Reset IPL status before running.
@@ -61,7 +61,14 @@ void init_timer(){ | ||
61 | 61 | IPC0bits.CS0IP=3; |
62 | 62 | IPC0bits.CS0IS=0; |
63 | 63 | IFS0bits.CS0IF=0; |
64 | - IEC0bits.CS0IE=1; | |
64 | + IEC0bits.CS0IE=1; | |
65 | + // Reset IPL in Status register of coprocessor | |
66 | + asm volatile("di"); | |
67 | + asm volatile("ehb"); | |
68 | + asm volatile("mfc0 $t0,$12,0"); | |
69 | + asm volatile("ins $t0,$zero,1,15"); | |
70 | + asm volatile("mtc0 $t0,$12,0"); | |
71 | + asm volatile("ei"); | |
65 | 72 | } |
66 | 73 | |
67 | 74 | void stop_timer(){ |
@@ -61,7 +61,14 @@ void init_timer(){ | ||
61 | 61 | IPC0bits.CS0IP=3; |
62 | 62 | IPC0bits.CS0IS=0; |
63 | 63 | IFS0bits.CS0IF=0; |
64 | - IEC0bits.CS0IE=1; | |
64 | + IEC0bits.CS0IE=1; | |
65 | + // Reset IPL in Status register of coprocessor | |
66 | + asm volatile("di"); | |
67 | + asm volatile("ehb"); | |
68 | + asm volatile("mfc0 $t0,$12,0"); | |
69 | + asm volatile("ins $t0,$zero,1,15"); | |
70 | + asm volatile("mtc0 $t0,$12,0"); | |
71 | + asm volatile("ei"); | |
65 | 72 | } |
66 | 73 | |
67 | 74 | void stop_timer(){ |
@@ -61,7 +61,14 @@ void init_timer(){ | ||
61 | 61 | IPC0bits.CS0IP=3; |
62 | 62 | IPC0bits.CS0IS=0; |
63 | 63 | IFS0bits.CS0IF=0; |
64 | - IEC0bits.CS0IE=1; | |
64 | + IEC0bits.CS0IE=1; | |
65 | + // Reset IPL in Status register of coprocessor | |
66 | + asm volatile("di"); | |
67 | + asm volatile("ehb"); | |
68 | + asm volatile("mfc0 $t0,$12,0"); | |
69 | + asm volatile("ins $t0,$zero,1,15"); | |
70 | + asm volatile("mtc0 $t0,$12,0"); | |
71 | + asm volatile("ei"); | |
65 | 72 | } |
66 | 73 | |
67 | 74 | void stop_timer(){ |