> CYG_INTERRUPT_STATE old; > > HAL_DISABLE_INTERRUPTS(old); > // do something uninterruptable > HAL_RESTORE_INTERRUPTS(old); > > But unless there's no way to get your DSYNC signal to generate an > interrupt, or this is just some kluge that will never make it into a > product anyway, you really ought to consider learning how to use > interrupts.
Turning off interrupts for a short period of time and polling may be the only way to guarantee the operation for this application. We had a somewhat similar problem a few years back, and we had to disable interrupts during a critical write to meet timing requirements. Even if he was running at 180MHz, assuming perfect conditions otherwise and no external bus accesses, 4.72uSec is only about 850 clock cycles. That doesn't leave a ton of overhead for an interrupt driven approach. --Chris -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
