u32 ISO7816_SendCharISR (u32 nChar_u32, u32 nTimeOutMs_u32) { int i; ToolPinSet (); for (i = 0; i < nTimeOutMs_u32; i++) { // Tx free ? if (TRUE == usart_tx_ready (EXAMPLE_INT_USART)) { // Tx transmitter buffer ? // if (TRUE == usart_txTransmitter_ready(EXAMPLE_INT_USART)) { // Yes, send char usart_write_char (EXAMPLE_INT_USART, nChar_u32); ToolPinClr (); return USART_SUCCESS; } } // Wait 1 ms vTaskDelay (CCID_TASK_DELAY_1_MS_IN_TICKS); } ToolPinClr (); return (USART_TX_BUSY); }
/*! \brief Check if the USART Transmit Holding Register is empty or not in SPI mode. * * \param p_usart Base address of the USART instance. * * \retval 1 There is no data in the Transmit Holding Register. * \retval 0 There are data in the Transmit Holding Register. */ uint32_t usart_spi_is_tx_ready(volatile avr32_usart_t *p_usart) { return usart_tx_ready(p_usart); }