mbed2 pre-final
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Diff: uart.cpp
- Revision:
- 2:7dc265489818
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uart.cpp Sun Jun 14 11:13:56 2020 +0000 @@ -0,0 +1,55 @@ +#include "uart.h" +#include "mbed.h" + +extern Serial pc; + +unsigned int Uart::puts (char *pcCharTab, unsigned int uiCharTabSize) { + + unsigned int uiNullCheck; + + for(unsigned int i = 0; i < uiCharTabSize; i++) { + if((pcCharTab[i] == '\0')) { + uiNullCheck += 1; + } + } + for(unsigned int i = 0; pcCharTab[i] != 0; i++) { + pc.putc(pcCharTab[i]); + } + pc.putc('\r'); + return uiNullCheck ? 0 : 1; +} + +unsigned int Uart::gets (char *pcRecCharTab, unsigned int uiCharTabSize) { + + unsigned int uiCharCounter = 0; + char cRecChar = 0; + + do { + cRecChar = pc.getc(); + pcRecCharTab[uiCharCounter] = cRecChar; + if(uiCharCounter >= (uiCharTabSize - 1)) { + return 1; + } + uiCharCounter++; + } + while (cRecChar != '\r'); + pcRecCharTab[uiCharCounter - 1] = '\0'; + return 0; +} + +/* +unsigned int Uart::gets (char *pcRecCharTab, unsigned int uiRecCharTabSize) { + unsigned int iTabIterator = 0; + char cRecChar = 0; + for(iTabIterator = 0; cRecChar != 13 ; iTabIterator++) { + cRecChar = pc.getc(); + pcRecCharTab[iTabIterator] = cRecChar; + if(iTabIterator >= (uiRecCharTabSize - 1)) { + return 1; + } + } + pcRecCharTab[iTabIterator - 1] = 0; + return 0; +} +*/ +