Skip to content
Snippets Groups Projects
Commit 867c9f82 authored by Michael DM Dryden's avatar Michael DM Dryden
Browse files

Fixed DAC pin assignment.

parent ba22708e
Branches
Tags
No related merge requests found
This diff is collapsed.
......@@ -30,6 +30,7 @@ int8_t command_handler(char command){
break;
case 'L': //LSV - start, stop, slope
scanf("%5i%5i%5i",&p1,&p2,&u1);
printf("%i,%i,%i",&p1,&p2,&u1);
lsv_experiment(p1,p2,u1,2);
break;
case 'C': //CV - v1, v2, start, scans, slope
......@@ -41,7 +42,7 @@ int8_t command_handler(char command){
case 'R': //CA
break;
default:
printf("E");
printf("Ee");
return 1;
}
......@@ -90,8 +91,45 @@ int main(void){
if (getchar() == 'k')
break;
}
// sine wave test
// #define DAC_PER_4 2
//
// uint16_t i;
// uint16_t delta[DAC_PER_4];
//
// for (i=0; i<DAC_PER_4; i++)
// {
// delta[i]=(sin(M_PI_2*(float)(i/(float)DAC_PER_4))*32768);
// }
// while (1){
// for (i = 0; i < DAC_PER_4; i++)
// {
// max5443_set_voltage1(32768+delta[i]);
// //printf("%u \r\n",delta[i]);
// }
//
// for (i = DAC_PER_4-1; i > 0; i--)
// {
// max5443_set_voltage1(32768+delta[i]);
// //printf("%u \r\n",delta[i]);
// }
// for (i = 0; i < DAC_PER_4; i++)
// {
// max5443_set_voltage1(32768-delta[i]);
// //printf("%u \r\n",delta[i]);
// }
//
// for (i = DAC_PER_4-1; i > 0; i--)
// {
// max5443_set_voltage1(32768-delta[i]);
// //printf("%u \r\n",delta[i]);
// }
// }
while (1){
command_handler((char)getchar());
// lsv_experiment(0,1000,100,2);
}
}
\ No newline at end of file
......@@ -15,15 +15,15 @@ struct usart_spi_device spi_device_conf_c = {
};
void max5443_init_pins(void){
arch_ioport_set_port_dir(IOPORT_PORTF, PIN4_bm|PIN5_bm|PIN7_bm, IOPORT_DIR_OUTPUT);
arch_ioport_set_port_level(IOPORT_PORTF, PIN4_bm|PIN5_bm|PIN7_bm, PIN4_bm|PIN5_bm|PIN7_bm);
arch_ioport_set_port_dir(IOPORT_PORTC, PIN4_bm|PIN5_bm|PIN7_bm, IOPORT_DIR_OUTPUT);
arch_ioport_set_port_level(IOPORT_PORTC, PIN4_bm|PIN5_bm|PIN7_bm, PIN4_bm|PIN5_bm|PIN7_bm);
}
void max5443_init_module(void){
usart_spi_init(&USARTC1);
usart_spi_setup_device(&USARTC1, &spi_device_conf_c, SPI_MODE_0, 24000000UL, 0);
dma_init();
// dma_init();
}
static void dma_init(void){
......@@ -31,15 +31,15 @@ static void dma_init(void){
memset(&dmach_conf, 0, sizeof(dmach_conf));
dma_channel_set_burst_length(&dmach_conf, DMA_CH_BURSTLEN_1BYTE_gc);
dma_channel_set_transfer_count(&dmach_conf, 2);
dma_channel_set_transfer_count(&dmach_conf, 1);
dma_channel_set_src_reload_mode(&dmach_conf,DMA_CH_SRCRELOAD_BURST_gc);
dma_channel_set_dest_reload_mode(&dmach_conf,DMA_CH_DESTRELOAD_BURST_gc);
dma_channel_set_src_dir_mode(&dmach_conf, DMA_CH_SRCDIR_INC_gc);
dma_channel_set_src_dir_mode(&dmach_conf, DMA_CH_SRCDIR_FIXED_gc);
dma_channel_set_dest_dir_mode(&dmach_conf, DMA_CH_DESTDIR_FIXED_gc);
dma_channel_set_source_address(&dmach_conf,(uint16_t)(uintptr_t)&TCC1_CNT);
dma_channel_set_source_address(&dmach_conf,(uint16_t)(uintptr_t)(&TCC1_CNT+0x01));
dma_channel_set_destination_address(&dmach_conf,(uint16_t)(uintptr_t)&USARTC1_DATA);
dma_channel_set_trigger_source(&dmach_conf, DMA_CH_TRIGSRC_TCC0_OVF_gc);
......@@ -51,7 +51,7 @@ static void dma_init(void){
//dma_channel_set_interrupt_level(&dmach_conf, DMA_INT_LVL_LO);
dma_channel_write_config(DMA_CHANNEL, &dmach_conf);
//dma_channel_enable(DMA_CHANNEL);
dma_channel_enable(DMA_CHANNEL);
}
void max5443_set_voltage1(uint16_t dacindex){
......
No preview for this file type
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment