Browse Source

update

master
zhaohe 2 years ago
parent
commit
80de216afb
  1. 11
      components/cmdscheduler/cmd_scheduler.cpp

11
components/cmdscheduler/cmd_scheduler.cpp

@ -20,7 +20,7 @@ void CmdScheduler::initialize(UART_HandleTypeDef* huart, uint32_t rxbufsize) {
cfg.rxovertime_ms = 3; cfg.rxovertime_ms = 3;
cfg.name = "CmdSchedulerUart"; cfg.name = "CmdSchedulerUart";
rxbuf = new char[rxbufsize];
rxbuf = new char[rxbufsize + 1];
ZASSERT(rxbuf != NULL); ZASSERT(rxbuf != NULL);
m_uart->initialize(&cfg); m_uart->initialize(&cfg);
@ -30,6 +30,7 @@ void CmdScheduler::initialize(UART_HandleTypeDef* huart, uint32_t rxbufsize) {
return; return;
} }
memcpy(rxbuf, data, len); memcpy(rxbuf, data, len);
rxbuf[len] = '\0';
m_rxsize = len; m_rxsize = len;
m_dataisready = true; m_dataisready = true;
// on data ,in irq context // on data ,in irq context
@ -66,11 +67,9 @@ void CmdScheduler::schedule() {
void CmdScheduler::callcmd(const char* cmd, CmdProcessContext& context) { void CmdScheduler::callcmd(const char* cmd, CmdProcessContext& context) {
int argc = 0; int argc = 0;
char* argv[10] = {0}; char* argv[10] = {0};
{
memset(cmdcache, 0, sizeof(cmdcache));
argc = 0;
memset(argv, 0, sizeof(argv));
}
memset(cmdcache, 0, sizeof(cmdcache));
argc = 0;
memset(argv, 0, sizeof(argv));
strcpy(cmdcache, cmd); strcpy(cmdcache, cmd);
prase_cmd(cmdcache, strlen(cmdcache), argc, argv); prase_cmd(cmdcache, strlen(cmdcache), argc, argv);

Loading…
Cancel
Save