forked from xuos/xiuos
change ch438 on nuttx
This commit is contained in:
parent
64109b5120
commit
de273145c3
|
@ -81,7 +81,7 @@ static pthread_cond_t cond[CH438PORTNUM] =
|
||||||
PTHREAD_COND_INITIALIZER
|
PTHREAD_COND_INITIALIZER
|
||||||
};
|
};
|
||||||
|
|
||||||
volatile int done[CH438PORTNUM] = {0};
|
volatile bool done[CH438PORTNUM] = {false,false,false,false,false,false,false,false};
|
||||||
|
|
||||||
static char buff[CH438PORTNUM][CH438_BUFFSIZE];
|
static char buff[CH438PORTNUM][CH438_BUFFSIZE];
|
||||||
static uint8_t buff_ptr[CH438PORTNUM];
|
static uint8_t buff_ptr[CH438PORTNUM];
|
||||||
|
@ -126,7 +126,7 @@ static int getInterruptStatus(int argc, char **argv)
|
||||||
{
|
{
|
||||||
if(gInterruptStatus & Interruptnum[ext_uart_no])
|
if(gInterruptStatus & Interruptnum[ext_uart_no])
|
||||||
{
|
{
|
||||||
done[ext_uart_no] = 1;
|
done[ext_uart_no] = true;
|
||||||
pthread_cond_signal(&cond[ext_uart_no]);
|
pthread_cond_signal(&cond[ext_uart_no]);
|
||||||
pthread_mutex_unlock(&mutex[ext_uart_no]);
|
pthread_mutex_unlock(&mutex[ext_uart_no]);
|
||||||
}
|
}
|
||||||
|
@ -496,9 +496,9 @@ static size_t ImxrtCh438ReadData(uint8_t ext_uart_no)
|
||||||
uint8_t REG_MSR_ADDR;
|
uint8_t REG_MSR_ADDR;
|
||||||
|
|
||||||
pthread_mutex_lock(&mutex[ext_uart_no]);
|
pthread_mutex_lock(&mutex[ext_uart_no]);
|
||||||
while(done[ext_uart_no] == 0)
|
while(done[ext_uart_no] == false)
|
||||||
pthread_cond_wait(&cond[ext_uart_no], &mutex[ext_uart_no]);
|
pthread_cond_wait(&cond[ext_uart_no], &mutex[ext_uart_no]);
|
||||||
if (done[ext_uart_no] == 1)
|
if (done[ext_uart_no] == true)
|
||||||
{
|
{
|
||||||
REG_IIR_ADDR = offsetadd[ext_uart_no] | REG_IIR0_ADDR;
|
REG_IIR_ADDR = offsetadd[ext_uart_no] | REG_IIR0_ADDR;
|
||||||
REG_LSR_ADDR = offsetadd[ext_uart_no] | REG_LSR0_ADDR;
|
REG_LSR_ADDR = offsetadd[ext_uart_no] | REG_LSR0_ADDR;
|
||||||
|
@ -527,6 +527,9 @@ static size_t ImxrtCh438ReadData(uint8_t ext_uart_no)
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
done[ext_uart_no] = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&mutex[ext_uart_no]);
|
pthread_mutex_unlock(&mutex[ext_uart_no]);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue