David Fletcher
/
cc3100_Test_mqtt_CM4F
TI's MQTT Demo with freertos CM4F
Embed:
(wiki syntax)
Show/hide line numbers
cli_uart.cpp
00001 00002 #include "mbed.h" 00003 #include "myBoardInit.h" 00004 #include "cli_uart.h" 00005 #include "osi.h" 00006 00007 OsiLockObj_t g_printLock; 00008 #if (THIS_BOARD == Seeed_Arch_Max) 00009 Serial uart(PC_6, PC_7); 00010 //Serial uart(USBTX, USBRX); 00011 #else 00012 Serial uart(p37, p31); 00013 #endif 00014 00015 00016 00017 int Uart_Write(unsigned char *inBuff) 00018 { 00019 uint16_t ret, ecount, usLength = strlen((const char *)inBuff); 00020 ecount = 0; 00021 ret = 0; 00022 00023 while(!(uart.writeable())){ecount++;if(ecount>3000)break;}; 00024 00025 if(uart.writeable()) { 00026 00027 if(inBuff == NULL) { 00028 printf("Uart Write buffer empty\r\n"); 00029 return -1; 00030 } 00031 00032 RTOS_MUTEX_ACQUIRE(&g_printLock); 00033 ret = usLength; 00034 00035 while (usLength) { 00036 uart.putc(*inBuff); 00037 usLength--; 00038 inBuff++; 00039 } 00040 00041 RTOS_MUTEX_RELEASE(&g_printLock); 00042 } else { 00043 printf("Uart Write failed [uart not writeable] now trying printf\r\n"); 00044 while (usLength) { 00045 printf("%c",*inBuff); 00046 usLength--; 00047 inBuff++; 00048 } 00049 return -1; 00050 } 00051 00052 return (int)ret; 00053 00054 } 00055 00056 void CLI_Configure(void) 00057 { 00058 uart.baud(115200); 00059 00060 RTOS_MUTEX_CREATE(&g_printLock); 00061 00062 } 00063
Generated on Wed Jul 13 2022 09:55:38 by 1.7.2