From ff47ce4b9b9d7f9fe9bca12173adb67527954f87 Mon Sep 17 00:00:00 2001 From: William Miceli Date: Fri, 11 Jun 2021 13:35:24 -0400 Subject: [PATCH] "Debug_UART-USB" project finished, now needs to be debugged --- Telem_Debug/Debug_UART-USB/interrupts.c | 6 ++++++ Telem_Debug/Debug_UART-USB/main.c | 15 ++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Telem_Debug/Debug_UART-USB/interrupts.c b/Telem_Debug/Debug_UART-USB/interrupts.c index a6a44ca..d2a3946 100644 --- a/Telem_Debug/Debug_UART-USB/interrupts.c +++ b/Telem_Debug/Debug_UART-USB/interrupts.c @@ -1,6 +1,7 @@ #include "interrupts.h" extern volatile unsigned char status_flag; +extern char* pUARTReceiveString; /* * Timer B CCR0 Interrupt Service Routine @@ -27,3 +28,8 @@ __interrupt void TIMER0_B0_ISR(void){ P8OUT &= ~LEDG; // Turn off the green LED } } + +#pragma vector = USCI_A2_VECTOR +__interrupt void USCI_A2_ISR(void){ + usci_A2_receiveString(pUARTReceiveString); +} diff --git a/Telem_Debug/Debug_UART-USB/main.c b/Telem_Debug/Debug_UART-USB/main.c index 914d6fa..da86436 100644 --- a/Telem_Debug/Debug_UART-USB/main.c +++ b/Telem_Debug/Debug_UART-USB/main.c @@ -6,6 +6,8 @@ #include "usci.h" volatile unsigned char status_flag = FALSE; +char UARTTransmitString[] = "[DEBUG] Test Transmission String"; +char* pUARTReceiveString; int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer; `WDTPW` is the "WatchDog Timer PassWord", required for all `WDTCTL` operations @@ -27,15 +29,22 @@ int main(void) { P8OUT |= LEDY0; // Initially set LEDY0 to High + pUARTReceiveString = calloc(1, 256 * sizeof(*pUARTReceiveString) + 1); + usci_A2_enable(); usci_A2_enableInterrupt(); - char UARTTransmitString[] = "[DEBUG] Test Transmission String"; - char* pUARTReceiveString = calloc(1, 256 * sizeof(*pUARTReceiveString) + 1); - while(1) { + // Repeating debug transmission string usci_A2_transmitString(&UARTTransmitString[0]); + + // String received, to be transmitted back + if(pUARTReceiveString[0] != '\0'){ + usci_A2_transmitString(pUARTReceiveString); + pUARTReceiveString[0] = '\0'; + } + delayMultiplied(5000); } }