I am trying to find out what part of the PS2 libs is interfering with the I2S output (the I2S output is fed by DMA). When I push some keys on the PS2 keyboard the I2S output is randomly stopped (goes to '0') and can not be restarted unless I reset the mbed.
So far no luck in finding the culprit.
By setting the divider for the I2S to '1' the output stays active (I had set the divider to '2')
The display still gets disturbed by the PS2 keyboard interrupts but that is another story...
fl_select_clock_i2s(FL_CLOCK_DIV1); // assume 100MHz
fl_i2s_set_tx_rate(1,4); // set 25 MHz pixel clock
The final problem is now also solved by setting the priority of the PS2 keyboard interrupt (on keyboard clock falling edge) to the lowest level:
NVIC_SetPriority( EINT3_IRQn, 255 ); set priority to lowest (reduce vga disturbance)
The screen is now steady again.
Please log in to post a reply.
mbed, the fastest way to prototype with ARM based microcontrollers.
^ back to top