|
|
@@ -30,8 +30,10 @@ void fast_callback(void) |
|
|
|
|
|
|
|
if (v < ADC_MIN && dac_cmd < DAC_MAX) |
|
|
|
dac_cmd ++; |
|
|
|
if (v > ADC_MAX && dac_cmd > DAC_MIN) |
|
|
|
else if (v > ADC_MAX && dac_cmd > DAC_MIN) |
|
|
|
dac_cmd --; |
|
|
|
else |
|
|
|
return; /* No new command */ |
|
|
|
|
|
|
|
/* Write new value to DAC */ |
|
|
|
dac_write(dac_cmd << DAC_SHIFT); |
|
|
@@ -66,9 +68,19 @@ int main(void) |
|
|
|
adcext_init(); |
|
|
|
dac_init(); |
|
|
|
adc_init(); |
|
|
|
adc_adc_callback = fast_callback; |
|
|
|
adc_dma_callback = slow_callback; |
|
|
|
// adc_adc_callback = fast_callback; |
|
|
|
// adc_dma_callback = slow_callback; |
|
|
|
|
|
|
|
{ |
|
|
|
int16_t i = 0; |
|
|
|
while(1) { |
|
|
|
i++; |
|
|
|
dac_write(i); |
|
|
|
uart1_put_hex16(i); |
|
|
|
uart1_crlf(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
while(1) { |
|
|
|
if (send_data) { |
|
|
|
send_to_pc(); |
|
|
|