|
- #include "config.h"
- #include "adc.h"
- #include "dac.h"
- #include "uart.h"
- #include <stdio.h>
-
- int main(void)
- {
- uint32_t v;
- char ch;
- config_init();
- uart1_init(115200);
-
- adc_init();
- dac_init();
- uart1_put_string("ADC/DAC test\r\n");
-
- for (;;) {
- switch((ch = uart1_get())) {
- case 'r':
- uart1_put_string("read");
- v = adc_read();
- uart1_put_string(" 0x");
- uart1_put_hex32(v);
- v = adc_convert(v);
- uart1_put_string(" 0x");
- uart1_put_hex32(v);
- uart1_put_string(" ");
- uart1_put_dec(v);
- uart1_put_string("\r\n");
- break;
- case 'c':
- uart1_put_string("convert");
- adc_start_conversion();
- while (!adc_is_conversion_ready())
- uart1_put('.');
- uart1_put_string("done\r\n");
- break;
- case '1'...'9':
- v = (ch - '1') * 0x2000L;
- if (v > 65535) v = 65535;
- uart1_put_string("write 0x");
- uart1_put_hex16(v);
- uart1_put_string("\r\n");
- dac_write(v);
- break;
- case 't':
- uart1_put_string("toggling, keypress to end\r\n");
- while (!uart1_can_get()) {
- dac_write(0x0000);
- dac_write(0xFFFF);
- }
- uart1_get();
- break;
- case 's':
- uart1_put_string("sweeps, keypress to end\r\n");
- while (!uart1_can_get())
- for (v = 0; v < 65536; v++)
- dac_write(v);
- uart1_get();
- break;
- default:
- uart1_put_string("ADC: Read Convert\r\n");
- uart1_put_string("DAC: 123456789 Toggle Sweep\r\n");
- break;
- }
- }
- return 0;
- }
|