Main Site Documentation

Interrupt-driven output: getting started


#1

What I want to do is:
[ul]Precompute an array of values and store it in memory, using managed code[/ul]
[ul]Set up a native code routine to be run at 10ms intervals[/ul]
[ul]On each run, output the next value from the array[/ul]

So where do I get started with:
[ul]Choosing/allocating a suitable area of memory, and accessing it from the managed code[/ul]
[ul]Setting up a timer, or a high-priority interrupt driven from an external signal[/ul]
[ul]Accessing the memory region from the interrupt routine[/ul]
[ul]Accessing some output pins from the interrupt routine.[/ul]

Does any part of the system run a top-priority interrupt that may interfere with or delay the execution of my routine?

I’m using a Raptor, although I’d like as much of the work as possible to be portable to other processor boards.

Thanks, Phil


#2

Darn, I said 10ms when I meant 10us. So a 100kHz rate. What’s three orders of magnitude between friends?

Is there a possibility of doing this with DMA? Where can I get started with that?


#3

Look at the RLP documentation.

https://www.ghielectronics.com/docs/151/rlp-realtime-audio-recording#1399

If you can run as a blocking function then i’m fairly certain it’s possible.


#4

That is indeed very helpful. Thanks!


#5

BTW where you say “if it can run as a blocking function” - are you suggesting that on an interrupt-driven basis I won’t be able to manage the 100kHz rate? Even on a 400MHz processor?


#6

Definitely not saying it wont work as an interrupt. I honestly don’t know.