/******************************************************************************* Function: bool WriteString (void) Summary: Writes a string to the console */ bool WriteString(void) { if(*appData.stringPointer == '\0') { return true; } /* Write a character at a time, only if transmitter is empty */ while (PLIB_USART_TransmitterIsEmpty(USART_ID_2)) { int i=0; /* Send measured values */ for(i0;i<10;i++) { PLIB_USART_TransmitterByteSend(USART_ID_2, *appData.stringPointer); /* Increment to address of next character */ appData.stringPointer++; } // if(*appData.stringPointer == '\0') // { // return true; // } } return true; }
/******************************************************************************* Function: bool PutCharacter (const char character) Summary: Sends a character to the console */ bool PutCharacter(const char character) { /* Check if buffer is empty for a new transmission */ if(PLIB_USART_TransmitterIsEmpty(USART_ID_2)) { /* Send character */ PLIB_USART_TransmitterByteSend(USART_ID_2, character); return true; } else return false; }
bool STIMULUS_USART_DRV_PutCharacter(const char character) { /* Check if buffer is empty for a new transmission */ if(PLIB_USART_TransmitterIsEmpty(configData->usartId)) { /* Send character */ PLIB_USART_TransmitterByteSend(configData->usartId, character); return true; } else { return false; } }
void IntHandlerDrvUsartInstance0(void) { /* TODO: Add code to process interrupt here */ //if (!DRV_USART0_ReceiverBufferIsEmpty()){ //stopAll(); char incomingByte = DRV_USART0_ReadByte(); receiveSendValFromISR(&incomingByte); // } // If transmitter not enabled, interrupt never occurs here (messages still go through over wifly) // Transmitter enable -> Empty Flag up if (PLIB_USART_TransmitterIsEmpty(USART_ID_1)) { receiveDataFromISR(); } PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_USART_1_RECEIVE); PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_USART_1_TRANSMIT); PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_USART_1_ERROR); }
void STIMULUS_USART_DRV_ReceiveTask() { /* Make sure receive buffer has data available */ if (PLIB_USART_ReceiverDataIsAvailable(configData->usartId)) { if(gStimulusBuffObj.nBytesReceived < gStimulusBuffObj.nBytestoReceive) { /* Get the data from the buffer */ rxStimulusBuff[gStimulusBuffObj.nBytesReceived] = PLIB_USART_ReceiverByteReceive(configData->usartId); gStimulusBuffObj.nBytesReceived++; } else { } if(gStimulusBuffObj.nBytesReceived == gStimulusBuffObj.nBytestoReceive) { Console_Usart_Write_String("Data Rx:"); Console_Usart_Write_Data(&rxStimulusBuff[0],gStimulusBuffObj.nBytesReceived); TestCaseInfo.TCResult = TM_TC_PASS; STIMULUS_Callback(); } else { } } else { } if(!PLIB_USART_TransmitterIsEmpty(configData->usartId)) { /* Send character */ PLIB_USART_TransmitterByteSend(configData->usartId, *gStimulusBuffObj.pTxBuffer); gStimulusBuffObj.pTxBuffer++; } else { } }
void BTSTACK_Tasks(void){ if (bytes_to_read && PLIB_USART_ReceiverDataIsAvailable(BT_USART_ID)) { *rx_buffer_ptr++ = PLIB_USART_ReceiverByteReceive(BT_USART_ID); bytes_to_read--; if (bytes_to_read == 0){ (*rx_done_handler)(); } } if (bytes_to_write && PLIB_USART_TransmitterIsEmpty(BT_USART_ID)){ PLIB_USART_TransmitterByteSend(BT_USART_ID, *tx_buffer_ptr++); bytes_to_write--; if (bytes_to_write == 0){ (*tx_done_handler)(); } } // BTstack Run Loop btstack_run_loop_embedded_execute_once(); }
// called by printf void _mon_putc (char c) { while (!PLIB_USART_TransmitterIsEmpty(APP_DEBUG_USART_ID)); PLIB_USART_TransmitterByteSend(APP_DEBUG_USART_ID, c);; }