cb1's answer is excellent! A few more pointers: - Be careful with specific interrupt clearing, such as GPIOIntClear(GPIO_PORTF_BASE, GPIO_INT_PIN_0); - it is wiser to read the interrupt mask, and then clear all interrupts. In case your code grows and adds other pins as interrupt sources, of even if a noise triggers an interrupt, you'd be stuck in a ISR re-entering loop. - Not only the whole SSI set of commands are not delays, but also it is not good to leave all those things inside an interrupt. It is better that you simply set a control flag inside the ISR, and then service the SSI communication during the main execution. [quote user="Stefan Manoharan"]in the neighborhood of 1us (12 Cycles of a 120MHz system clock)[/quote] Actually that amount of time relates to 120 cycles. (Saleae has been getting a good amount of free advertisement around here...) PS: If for some reason you are trying to read the converter "as soon as possible" after the value is available and signaled by /DR line, maybe you should consider polling. Still, that "rush" will probably make no difference on your overall system, for the AD converter has a maximum rate of 144K samples per second. There are other phases that will impact your measurement (including whatever numeric processing you will do with all those samples, if any). Bruno
↧