Dependencies: LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI
main.cpp
- Committer:
- domino5740
- Date:
- 2020-06-08
- Revision:
- 1:be03cac9fe74
- Parent:
- 0:d09bab92fbd1
- Child:
- 2:7dc265489818
File content as of revision 1:be03cac9fe74:
#include "mbed.h" #include "command_decoder.h" Serial MyUart(SERIAL_TX, SERIAL_RX); unsigned int puts (char *pcCharTab, unsigned int uiCharTabSize) { unsigned int uiNullCheck; for(int i = 0; i < uiCharTabSize; i++) { if((pcCharTab[i] == 0)) { uiNullCheck += 1; } } for(int i = 0; pcCharTab[i] != 0; i++) { MyUart.putc(pcCharTab[i]); } MyUart.putc(13); return uiNullCheck ? 0 : 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; } } pcRecCharTab[iTabIterator - 1] = 0; return 0; } int main() { char cRecCharTab[50]; char cSendCharTab[50]; ucTokenNr = 0; while(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); } } } MyUart.putc('\n'); } }