Esempio n. 1
0
/* interrupt from Master on Slave side */
void M0_M4CORE_IRQHandler() {

    mbxId_t i;

    // quit the interrupt
    MASTER_TXEV_QUIT();

    for(i=(mbxId_t)0; i<NUM_SLAVE_MBX; i++) {

        if(PROCESS == IPC_queryLocalMbx(i)) {
            _mbxProcess(i);
            mbxFlags[i] = MSG_PENDING;
        }
    };
}
/* interrupt to master from slave */
void IPC_Slave2Master_IRQHandler() {

	mbxId_t i;
		
	// acknowledge the interrupt
	SLAVE_TXEV_QUIT();

	for(i=(mbxId_t)0;i<NUM_MASTER_MBX;i++) {

		if(PROCESS == IPC_queryLocalMbx(i)) {

			_mbxProcess(i);

			mbxFlags[i] = MSG_PENDING;			
		}
	};
}