This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
这是我的配置代码:
/* Setup the default UART Parameters */
UART_Params_init(&uartParams);
uartParams.writeDataMode = UART_DATA_BINARY;
uartParams.readDataMode = UART_DATA_BINARY;
uartParams.readEcho = UART_ECHO_OFF;/*AFSGQV3*/
uartParams.clockFrequency = gMmwMssMCB.cfg.sysClockFrequency;
uartParams.baudRate = gMmwMssMCB.cfg.loggingBaudRate;
uartParams.isPinMuxDone = 1U;
uartParams.dmaHandle = dmaHandle;/*Here*/
uartParams.txDMAChannel = 1U;/*Here*/
uartParams.rxDMAChannel = 2U;/*2U Here*/
/* Open the Logging UART Instance: */
gMmwMssMCB.loggingUartHandle = UART_open(1, &uartParams);
于mss_main.c中
相关的驱动配置如下:
UartSci_HwCfg gUartSciHwCfg[2] =
{
/* UART1 Hardware configuration:
* - Capable of sending and receiving data
* - PIN MUX is required */
{
((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_A_BASE_ADDRESS),
UartSci_Duplexity_FULL,
UartSci_PinMux_REQUIRED,
SOC_XWR68XX_MSS_SCIA_LVL0_INT,
SOC_XWR68XX_MSS_SCIA_TX_DMA_REQ,
SOC_XWR68XX_MSS_SCIA_RX_DMA_REQ,
&UartSci_openDMA,
&UartSci_closeDMA,
&UartSci_isDMAEnabled,
&UartSci_initiateRxDMA,
&UartSci_initiateTxDMA
},
/* UART3 Hardware configuration:
* - Capable of only sending data
* - PIN MUX is required */
{
((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_B_BASE_ADDRESS),
UartSci_Duplexity_FULL,/*before:UartSci_Duplexity_TX_ONLY,*/
UartSci_PinMux_REQUIRED,
SOC_XWR68XX_MSS_SCIB_LVL0_INT,
SOC_XWR68XX_MSS_SCIB_TX_DMA_REQ,
SOC_XWR68XX_MSS_SCIB_RX_DMA_REQ,
&UartSci_openDMA,
&UartSci_closeDMA,
&UartSci_isDMAEnabled,
&UartSci_initiateRxDMA,
&UartSci_initiateTxDMA
}
};
UART LOGGING在未配置DMA的情况下能够正常收发,pinmux为:
Pinmux_Set_OverrideCtrl(SOC_XWR68XX_PINP4_PADBB, PINMUX_OUTEN_RETAIN_HW_CTRL, PINMUX_INPEN_RETAIN_HW_CTRL);
Pinmux_Set_FuncSel(SOC_XWR68XX_PINP4_PADBB, SOC_XWR68XX_PINP4_PADBB_MSS_UARTB_RX);
已测试过UART COMMAND能够使用DMA.
请问UART LOGGING是没有配置DMA吗?如果要根据上述引脚,我应该如何配置?
直接编译显示某些函数无法找到
你是否有编译过mmwave sdk的mmw demo。编译测试代码类似,需要先运行setenv.bat,再运行gmake编译。建议先clean一下。你可单独编译测试代码,具体请参考makefile的内容。你之前也编译过这个uart的库,是类似的编译方法。
在测试代码中似乎没有定义UART-3的RX,我想使用UART-3的RX配合DMA使用
类似你修改ppl demo,你需要在测试代码里添加相关pinmux,修改配置uart0的代码为uart1..
/* UART3 Hardware configuration:
* - Capable of only sending data
* - PIN MUX is required */
{
((volatile SCIRegs*)SOC_XWR68XX_MSS_SCI_B_BASE_ADDRESS),
UartSci_Duplexity_FULL,/*before:UartSci_Duplexity_TX_ONLY,*/
请问你修改了驱动后,有重新编译uart驱动么?如果有,如果是gmake all也是会一起编译测试代码的。这个编译流程、方法都是类似啊。
有的,测试后不搭配DMA UART LOGGING是可用的.
我目前使用的编译方式均为修改toolbox中可以在CSS中打开的DEMO,然后在CCS中编译生成bin文件,而uart/test/中的文件并没有CCS工程,而我不知道怎么添加到CCS中...
有的,测试后不搭配DMA UART LOGGING是可用的.
我目前使用的编译方式均为修改toolbox中可以在CSS中打开的DEMO,然后在CCS中编译生成bin文件,而uart/test/中的文件并没有CCS工程,而我不知道怎么添加到CCS中...
你修改了uart库里的函数,但编译toolbox的demo的时候是只编译demo,调用现有的库的。所以你修改的uart的driver代码是没有生效的,因为你没有重新编译uart driver。请尝试在命令行下重新编译uart driver,再rebuild toolbox demo看看。
你好,
我没有尝试过你这个方法,你的文件里和lib里有同样的变量定义,编译器没有报错?
请按照我提供的建议修改驱动后,请重新编译uart lib。