예제 #1
0
파일: serial_api.c 프로젝트: haydar9/mbed
void UART0_IRQHandler()
{
    uint32_t irtype = 0;

    if (NRF_UART0->EVENTS_TXDRDY) {
        irtype = 1;
    } else if (NRF_UART0->EVENTS_RXDRDY) {
        irtype = 2;
    }
    uart_irq(irtype, 0);
}
void UART0_IRQHandler()
{
    uint32_t irtype = 0;

    if((NRF_UART0->INTENSET & 0x80) && NRF_UART0->EVENTS_TXDRDY) {
        irtype = 1;
    } else if((NRF_UART0->INTENSET & 0x04) && NRF_UART0->EVENTS_RXDRDY) {
        irtype = 2;
    }
    uart_irq(irtype, 0);
}
예제 #3
0
void vTaskISRHandler( void )
{
static uint8_t pending;

	PROFILER_SUB = 1;

	/* Which interrupts are pending? */
	pending = ioRead8(ITU_IRQ_ACTIVE);
	ioWrite8(ITU_IRQ_CLEAR, pending);
	//const uint8_t hex[] = "0123456789ABCDEF";

	//ioWrite8(UART_DATA, hex[pending >> 4]);
	//ioWrite8(UART_DATA, hex[pending & 0x0F]);
	//ioWrite8(UART_DATA, '|');

	BaseType_t do_switch = pdFALSE;

	if (pending & 0x10) {
		do_switch = command_interface_irq();
	}
	if (pending & 0x08) {
		do_switch |= tape_recorder_irq();
	}
	if (pending & 0x04) {
		do_switch |= usb_irq();
	}
	if (pending & 0x02) {
		do_switch |= uart_irq();
	}
	if (pending & 0x01) {
		do_switch |= xTaskIncrementTick();
	}
	if (do_switch != pdFALSE) {
		vTaskSwitchContext();
	}
}
예제 #4
0
static void uart7_irq(void)
{
    uart_irq(UART_7, 6);
}
예제 #5
0
static void uart5_irq(void)
{
    uart_irq(UART_5, 4);
}
예제 #6
0
static void uart3_irq(void)
{
    uart_irq(UART_3, 2);
}
예제 #7
0
static void uart1_irq(void)
{
    uart_irq(UART_1, 0);
}
예제 #8
0
static void uart2_irq(void) {
    uart_irq((USART_TypeDef*)UART_2, 1);
}
예제 #9
0
파일: serial_api.c 프로젝트: pan-/mbed
void uart4_irq()
{
    uint32_t status_flags = LPUART4->STAT;
    uart_irq((status_flags & kLPUART_TxDataRegEmptyFlag), (status_flags & kLPUART_RxDataRegFullFlag), 4);
}
예제 #10
0
파일: serial_api.c 프로젝트: Babody/mbed
void uart3_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART3_BASE), UART_HAL_IsRxDataRegFull(UART3_BASE), 3);
}
예제 #11
0
파일: serial_api.c 프로젝트: Babody/mbed
void uart2_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART2_BASE), UART_HAL_IsRxDataRegFull(UART2_BASE), 2);
}
예제 #12
0
파일: serial_api.c 프로젝트: Babody/mbed
void uart1_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART1_BASE), UART_HAL_IsRxDataRegFull(UART1_BASE), 1);
}
예제 #13
0
파일: serial_api.c 프로젝트: Babody/mbed
void uart0_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART0_BASE), UART_HAL_IsRxDataRegFull(UART0_BASE), 0);
    if (UART_HAL_GetStatusFlag(UART0_BASE, kUartRxOverrun))
        UART_HAL_ClearStatusFlag(UART0_BASE, kUartRxOverrun);
}
예제 #14
0
파일: serial_api.c 프로젝트: Fadis/lpc810
void uart2_irq() {uart_irq((LPC_USART2->STAT & (1 << 2)) ? 2 : 1, 2);}
예제 #15
0
파일: serial_api.c 프로젝트: Fadis/lpc810
void uart1_irq() {uart_irq((LPC_USART1->STAT & (1 << 2)) ? 2 : 1, 1);}
예제 #16
0
static void uart7_irq(void)
{
    uart_irq(6);
}
예제 #17
0
static void uart8_irq(void)
{
    uart_irq(7);
}
예제 #18
0
파일: serial_api.c 프로젝트: Babody/mbed
void uart4_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART4_BASE), UART_HAL_IsRxDataRegFull(UART4_BASE), 4);
}
예제 #19
0
static void uart1_irq(void) {
    uart_irq((USART_TypeDef*)UART_1, 0);
}
예제 #20
0
static void uart1_irq(void)
{
    uart_irq(0);
}
예제 #21
0
static void uart3_irq(void) {
    uart_irq((USART_TypeDef*)UART_3, 2);
}
예제 #22
0
static void uart2_irq(void)
{
    uart_irq(1);
}
예제 #23
0
static void uart2_irq(void)
{
    uart_irq(UART_2, 1);
}
예제 #24
0
static void uart3_irq(void)
{
    uart_irq(2);
}
예제 #25
0
static void uart4_irq(void)
{
    uart_irq(UART_4, 3);
}
예제 #26
0
static void uart4_irq(void)
{
    uart_irq(3);
}
예제 #27
0
static void uart6_irq(void)
{
    uart_irq(UART_6, 5);
}
예제 #28
0
static void uart5_irq(void)
{
    uart_irq(4);
}
예제 #29
0
static void uart8_irq(void)
{
    uart_irq(UART_8, 7);
}
예제 #30
0
static void uart6_irq(void)
{
    uart_irq(5);
}