if(uart1dev){
http_len = http_postkt (uart1_buf,API_KEY,DEV_ID,"temperature","24.5");/ /这个函数在uart1_buf中填入一组字符串,空间1024,实际使用了大概150字节。< br / > / / printf (" % s "换行,uart1_buf);/ / & lt;——这个printf函数工作正常< br / > ad_uart_write (uart1dev, uart1_buf http_len);/ / ! !& lt;——t这个函数一执行,就会复位复位< br / >其他}{< br / > printf(“UART1设备打开失败”换行符);< br / >} < br / > ad_uart_close (uart1dev); p < / p > < >.........< br /> //-------------------------------------------------< br / >没弄明白这两个函数有啥区别吗? 为什么同样长度,同样波特率的不同串口输出,一个会引起复位呢?
有什么解决办法? 或者怎样诊断这种 RESET 故障?
有关定义及初始化代码如下:
/---------------------------------------------
#if dg_configUART_ADAPTER
UART_BUS(UART1, SERIAL1, HW_UART_BAUDRATE_115200, HW_UART_DATABITS_8, HW_UART_PARITY_NONE,
HW_UART_STOPBITS_1, 0, 0, HW_DMA_CHANNEL_1, HW_DMA_CHANNEL_0, 0, 0)
UART_BUS(UART2, SERIAL2, HW_UART_BAUDRATE_115200, HW_UART_DATABITS_8, HW_UART_PARITY_NONE,
HW_UART_STOPBITS_1, 0, 1, HW_DMA_CHANNEL_3, HW_DMA_CHANNEL_2, 0, 0)
#endif /* dg_configUART_ADAPTER */
//--------------------------------------------
我的 UART 使用P10 和 P14.
//-------------------------------
// P10=TX1, P14=RX1
hw_gpio_configure_pin(HW_GPIO_PORT_1, HW_GPIO_PIN_4, HW_GPIO_MODE_OUTPUT,
HW_GPIO_FUNC_GPIO, 1);
hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_0, HW_GPIO_MODE_OUTPUT,
HW_GPIO_FUNC_UART_TX);
hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_4, HW_GPIO_MODE_OUTPUT,
HW_GPIO_FUNC_UART_RX);
//---------------------------------
谢谢