mbed2 pre-final
Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
Diff: main.cpp
- Revision:
- 1:be03cac9fe74
- Parent:
- 0:d09bab92fbd1
- Child:
- 2:7dc265489818
--- a/main.cpp Mon Jun 08 11:33:52 2020 +0000 +++ b/main.cpp Mon Jun 08 21:57:59 2020 +0000 @@ -1,47 +1,66 @@ #include "mbed.h" -#include <cstring> +#include "command_decoder.h" Serial MyUart(SERIAL_TX, SERIAL_RX); -DigitalOut led3(LED3); -DigitalOut led4(LED4); unsigned int puts (char *pcCharTab, unsigned int uiCharTabSize) { + unsigned int uiNullCheck; - if(pcCharTab[uiCharTabSize - 1] == 0) { - uiNullCheck = 0; + + for(int i = 0; i < uiCharTabSize; i++) { + if((pcCharTab[i] == 0)) { + uiNullCheck += 1; + } } - else { - uiNullCheck = 1; - } - for(int i = 0; i < uiCharTabSize - 1; i++) { + for(int i = 0; pcCharTab[i] != 0; i++) { MyUart.putc(pcCharTab[i]); } MyUart.putc(13); - return uiNullCheck; + return uiNullCheck ? 0 : 1; } -unsigned int gets (char *pcCharTab, unsigned int uiCharTabSize) { - int iTabIterator = 0; - for(iTabIterator = 0; char cRecChar = MyUart.getc() != 13; iTabIterator++) { - pcCharTab[iTabIterator] = cRecChar; - if(iTabIterator >= (uiCharTabSize - 1)) { +unsigned int gets (char *pcRecCharTab, unsigned int uiRecCharTabSize) { + + unsigned int iTabIterator = 0; + char cRecChar; + + for(iTabIterator = 0; cRecChar != 13 ; iTabIterator++) { + cRecChar = MyUart.getc(); + pcRecCharTab[iTabIterator] = cRecChar; + if(iTabIterator >= (uiRecCharTabSize - 1)) { return 1; } } - pcCharTab[iTabIterator] = 0; + pcRecCharTab[iTabIterator - 1] = 0; return 0; } int main() { - char cRecChar[5]; + char cRecCharTab[50]; + char cSendCharTab[50]; + ucTokenNr = 0; + while(1) { - if(gets(cRecChar, 5)) { - led4 = 1; + gets(cRecCharTab, 50); + MyCommandDecoder.DecodeMsg(cRecCharTab); + if(ucTokenNr != 0) { + for(int iCurrentToken = 0; iCurrentToken <= ucTokenNr; iCurrentToken++) { + if(asToken[iCurrentToken].eType == KEYWORD) { + switch(asToken[iCurrentToken].uValue.eKeyword) { + case ID: + puts("id anyidentifier", 50); + break; + default: + break; + } + } + else { + puts("unknowncommand", 50); + } + + } } - else { - led4 = 0; - } - puts(cRecChar, 5); + MyUart.putc('\n'); } }