Hi,
I'm just starting with msp 432.
I've attached a clock source on a pin and in the interrupt I toggle one other pin. (I need to read some serial data)
Everything works ok if the clock is 10k or below, but if the clock is 100K,1M...+ it seams that the interrupt is not handling correctly.
I was trying to do the same thing with the TI RTOS but it was the same. I've also tried to handle the data with spi and also the same.. :/
Can you please point me out what I'm doing wrong? 48Mhz processor should handle this easily.
Thank you!
The code is from the interrupt example.
int main(void) { volatile uint32_t ii; /* Halting the Watchdog */ MAP_WDT_A_holdTimer(); /* Configuring P1.0 as output and P1.1 (switch) as input */ MAP_GPIO_setAsOutputPin(GPIO_PORT_P2, GPIO_PIN7); /* Configuring P1.1 as an input and enabling interrupts */ MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1, GPIO_PIN5); // MAP_GPIO_setAsInputPin(GPIO_PORT_P1,GPIO_PIN5); MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, GPIO_PIN5); MAP_GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN5); MAP_Interrupt_enableInterrupt(INT_PORT1); /* Enabling SRAM Bank Retention */ MAP_SysCtl_enableSRAMBankRetention(SYSCTL_SRAM_BANK1); /* Enabling MASTER interrupts */ MAP_Interrupt_enableMaster(); /* Going to LPM3 */ while (1) { MAP_PCM_gotoLPM3(); } } /* GPIO ISR */ void PORT1_IRQHandler(void) { uint32_t status; status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P1); MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, status); /* Toggling the output on the LED */ if(status & GPIO_PIN5) { MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P2, GPIO_PIN7); } }