|
|
@@ -71,16 +71,6 @@ void TISR_HANDLER(6) |
|
|
|
send_data = 1; |
|
|
|
} |
|
|
|
|
|
|
|
/* Very basic, assumes timer1 is set up at 1 khz */ |
|
|
|
void wait_msec(int ms) |
|
|
|
{ |
|
|
|
while (ms-- >= 0) { |
|
|
|
IFS0bits.T1IF = 0; |
|
|
|
while(IFS0bits.T1IF == 0) |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void send_to_pc(void) |
|
|
|
{ |
|
|
|
/* Sent data format: |
|
|
@@ -97,11 +87,11 @@ void send_to_pc(void) |
|
|
|
void degauss(void) |
|
|
|
{ |
|
|
|
dac_write(65535); /* max */ |
|
|
|
wait_msec(25); |
|
|
|
msleep(25); |
|
|
|
dac_write(0); /* min */ |
|
|
|
wait_msec(25); |
|
|
|
msleep(25); |
|
|
|
dac_write(32768); /* middle */ |
|
|
|
wait_msec(25); |
|
|
|
msleep(25); |
|
|
|
} |
|
|
|
|
|
|
|
void run_debug(void) |
|
|
@@ -194,14 +184,13 @@ int main(void) |
|
|
|
TRISCbits.TRISC13 = 1; |
|
|
|
CNPU1bits.CN1PUE = 1; |
|
|
|
|
|
|
|
/* millisecond timer */ |
|
|
|
timer_setup_16bit(1, 1000, 0); |
|
|
|
|
|
|
|
adcext_init(); |
|
|
|
dac_init(); |
|
|
|
dac_write(32768); |
|
|
|
adc_init(); |
|
|
|
|
|
|
|
msleep(100); |
|
|
|
|
|
|
|
degauss(); |
|
|
|
|
|
|
|
/* If PGD is externally tied to ground, run in debug mode. |
|
|
|