主题中讨论的其他器件:SysConfig
工具与软件:
尊敬的专家:
我正在使用 motor_control_sdk_am243x_09_02_00_09、CCS 12.6、SysConfig 1.21.1。
我正在尝试理解 uart_echo_dma_lld 示例、并进行了一些细微的修改、我在开始时发送两个字符串:
/*发送输入字符串*/
gNumBytesWritten = 0u;
trans.buf =&gUartBuffer[0U];
strncpy (trans.buf、"这是 UART 回波测试阻塞模式\r\n 接收8个字符、然后回波。 请输入..\r\n"、APP_UART_BUFSIZE);
tran.count = strlen (tran.buf);
CacheP_WB ((void *) tran.buf、tran.count、CacheP_TYPE_ALL);
transferOK = UART_LLD_writeDma (gUartHandleLLd[CONFIG_UART_CONSOLE]、trans.buf、trans.count、NULL);while (try_lock_mutex (gUartObject[CONFIG_UART_CONSOLE].writeTransferMutex)= mutex_arm_locked);
APP_UART_ASSERT_ON_FAILURE (transferOK、TRANS);
//测试
/*发送输入字符串*/
gNumBytesWritten = 0u;
trans.buf =&gUartBuffer[0U];
strncpy (tran.buf、"请输入8个字符-->\r\n"、APP_UART_BUFSIZE);
tran.count = strlen (tran.buf);
CacheP_WB ((void *) tran.buf、tran.count、CacheP_TYPE_ALL);
transferOK = UART_LLD_writeDma (gUartHandleLLd[CONFIG_UART_CONSOLE]、trans.buf、trans.count、NULL);while (try_lock_mutex (gUartObject[CONFIG_UART_CONSOLE].writeTransferMutex)= mutex_arm_locked);
APP_UART_ASSERT_ON_FAILURE (transferOK、TRANS);
//测试
我假设 try_lock_mutex()会让程序等待字符串被发送。 但 UART 终端的结果是
这是 UART 回波测试阻塞模式\r\n>
接收8个字符请输入8个字符--><\r\n>
...第一个字符串似乎被剪切。
如果我在 UART_LLD_writeDma ()指令中设置调试微风点,则字符串已完成。
我在做什么错?
BR
Alexander