下载用了,但是在pc上用串口接收到得数据是乱码,然后找发送数据到串口的函数,发现最后调用的是HalUARTWrite(HAL_UART_PORT_0,pFrame, ZB_RECV_LENGTH);然后hal_uart.c中调用的是这个函数uint16 HalUARTWrite(uint8 port, uint8 *buf, uint16 len)
{
(void)port;
(void)buf;
(void)len;
#if (HAL_UART_DMA == 1)
if (port == HAL_UART_PORT_0) return HalUARTWriteDMA(buf, len);
#endif
#if (HAL_UART_DMA == 2)
if (port == HAL_UART_PORT_1) return HalUARTWriteDMA(buf, len);
#endif
#if (HAL_UART_ISR == 1)
if (port == HAL_UART_PORT_0) return HalUARTWriteISR(buf, len);
#endif
#if (HAL_UART_ISR == 2)
if (port == HAL_UART_PORT_1) return HalUARTWriteISR(buf, len);
#endif
#if HAL_UART_USB
HalUARTTx(buf, len);
return len;
#else
return 0;
#endif
}
但是,程序里没包括 "_hal_uart_dma.c","_hal_uart_isr.c"和"_hal_uart_usb.c"这三个文件,不知道是怎么把数据发回到串口的呢?用Z-Sensor Monitor工具的时候显示又是正常的。 |