Hi community,
I'm new with the DSP programming, and my goal will be use c6713 DSP as I2C slave sending data stored in an eDMA.
After reading many manuals about I2C and Interrupts I've few questions that I prefer to ask in the forum. My "communication protocol" is a secondary functionality for DSP so must be handled by Interrupts. But after reading the CSL for c6713 and its examples my first question is I don't know when should I declare a function as interrupt like:
interrupt void myIsr();
Or when should be like (as page 268 of the CSL manual):
IRQ_Config myConfig = {
myIsr,
0x00000000,
IRQ_CCMASK_DEFAULT,
IRQ_IEMASK_DEFAULT
};
...
IRQ_config(eventId,&myConfig);
...
void myIsr(Uint32 funcArg, Uint32 eventId) {
...
}
because this option doesn't declare myIsr as interrupt and don't handle the interrupt vector in assembler.
And my second question is how to redirect the direction of TX or RX registers of I2C to an eDMA register for better sending/receiving.
If you have an I2C and/or eDMA example that uses interrupts, please lend me out because I seached a lot and I didn't find any. (or maybe I didn't use proper keywords)
Up to now I've only developed in MSP430, so there are many directs in DSP that I don't understand, but reading some examples I'm understanding.
(For the record, the master is a MSP430F5510, that has already working I2C with DMA interrupts. I just need a DSP C example of use for propper interrupts handelling)
Thanks in advance!
Edson