Fix DAC stuff slightly
Update code to test bipolar dac git-svn-id: https://bucket.mit.edu/svn/nilm/zoom@6027 ddd99763-3ecb-0310-9145-efcb8ce7c51f
This commit is contained in:
parent
97d0350be5
commit
2322b564a3
|
@ -30,7 +30,11 @@ void dac_init(void)
|
|||
dac_write(0x0000);
|
||||
}
|
||||
|
||||
/* Write raw 16-bit value to DAC */
|
||||
/* Write raw 16-bit value to DAC:
|
||||
0xFFFF 4.9998v
|
||||
0x8000 0v
|
||||
0x0000 -5v
|
||||
*/
|
||||
void dac_write(uint16_t val)
|
||||
{
|
||||
LATGbits.LATG9 = 0;
|
||||
|
|
|
@ -3,10 +3,14 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
/* Initialize ADC */
|
||||
/* Initialize DAC (AD5542) */
|
||||
void dac_init(void);
|
||||
|
||||
/* Write raw 16-bit value to DAC */
|
||||
/* Write raw 16-bit value to DAC:
|
||||
0xFFFF 4.9998v
|
||||
0x8000 0v
|
||||
0x0000 -5v
|
||||
*/
|
||||
void dac_write(uint16_t val);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue
Block a user