- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I'm trying to get ADC to run with Deca Max 10 Evaluation board. When debugging the program in Nios, it appears to get stuck in the alt_irq_handler() function.
active = alt_irq_pending ();
do
{
i = 0;
mask = 1;
/*
* Test each bit in turn looking for an active interrupt. Once one is
* found, the interrupt handler asigned by a call to alt_irq_register() is
* called to clear the interrupt condition.
*/
do
{
if (active & mask)
{ # ifdef ALT_ENHANCED_INTERRUPT_API_PRESENT
alt_irq.handler(alt_irq.context); # else
alt_irq.handler(alt_irq.context, i); # endif
break;
}
mask <<= 1;
i++;
} while (1);
active = alt_irq_pending ();
} while (active);# endif /* ALT_CI_INTERRUPT_VECTOR */
I have no clue why it's stuck here???? Following is my simple code for reading ADC in main() function and attached file is the Qsys configuration.
int count = 0;
alt_u32 adc_data;
/* Initialize adc */
adc_stop(ADC_SEQUENCER_CSR_BASE);
adc_interrupt_disable(ADC_SEQUENCER_CSR_BASE); // Disable interrupt
adc_clear_interrupt_status(ADC_SEQUENCER_CSR_BASE);
adc_set_mode_run_continuously(ADC_SEQUENCER_CSR_BASE); // Set ADC run mode
adc_start(ADC_SEQUENCER_CSR_BASE); // start sampling
for(alt_u32 sampleCnt=0; sampleCnt<100; sampleCnt++) // read 1000 samples
{
alt_adc_word_read(ADC_SAMPLE_STORE_CSR_BASE, adc_data, ADC_SAMPLE_STORE_CSR_CSD_LENGTH);
count++;
}
adc_stop(ADC_SEQUENCER_CSR_BASE); // Stop ADC sampling
while (1);
Any help would be really appreciated. Thankshttps://alteraforum.com/forum/attachment.php?attachmentid=13911&stc=1
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page