157***625
配置串口1驱动 使用APP_UART_TYPE_INTERRUPT mode时,发送正常,接收不了数据,帮忙看看哪儿配置出问题了,感谢
#define APP_UART_ID APP_UART_ID_1
#define APP_UART_BAUDRATE 115200
#define APP_UART_TX_IO_TYPE APP_IO_TYPE_NORMAL
#define APP_UART_RX_IO_TYPE APP_IO_TYPE_NORMAL
#define APP_UART_TX_PIN APP_IO_PIN_9
#define APP_UART_RX_PIN APP_IO_PIN_8
#define APP_UART_TX_PINMUX APP_IO_MUX_3
#define APP_UART_RX_PINMUX APP_IO_MUX_3
#define APP_UART_TX_PULL APP_IO_PULLUP
#define APP_UART_RX_PULL APP_IO_PULLUP
s_uart_buffer.tx_buf = s_uart_tx_buffer;
s_uart_buffer.tx_buf_size = UART_TX_BUFFER_SIZE;
s_uart_param.id = APP_UART_ID_1;
s_uart_param.init.baud_rate = APP_UART_BAUDRATE;
s_uart_param.init.data_bits = UART_DATABITS_8;
s_uart_param.init.stop_bits = UART_STOPBITS_1;
s_uart_param.init.parity = UART_PARITY_NONE;
s_uart_param.init.hw_flow_ctrl = UART_HWCONTROL_NONE;
s_uart_param.init.rx_timeout_mode = UART_RECEIVER_TIMEOUT_ENABLE;
s_uart_param.pin_cfg.rx.type = APP_UART_RX_IO_TYPE;
s_uart_param.pin_cfg.rx.pin = APP_UART_RX_PIN;
s_uart_param.pin_cfg.rx.mux = APP_UART_RX_PINMUX;
s_uart_param.pin_cfg.rx.pull = APP_UART_RX_PULL;
s_uart_param.pin_cfg.tx.type = APP_UART_TX_IO_TYPE;
s_uart_param.pin_cfg.tx.pin = APP_UART_TX_PIN;
s_uart_param.pin_cfg.tx.mux = APP_UART_TX_PINMUX;
s_uart_param.pin_cfg.tx.pull = APP_UART_TX_PULL;
s_uart_param.use_mode.type = APP_UART_TYPE_INTERRUPT;
app_uart_init(&s_uart_param, uart_evt_handler, &s_uart_buffer);
app_uart_receive_async(APP_UART_ID_1, s_uart_rx_buffer, UART_RX_BUFFER_SIZE);
static void uart_evt_handler(app_uart_evt_t *p_evt)
{
if (APP_UART_EVT_RX_DATA == p_evt->type)
{
APP_LOG_INFO("receive started."); // 电脑com口发送数据后输出不了
ground_plane_sonic_uart_protocol(s_uart_rx_buffer,p_evt->data.size);
app_uart_receive_async(APP_UART_ID, s_uart_rx_buffer, UART_RX_BUFFER_SIZE);
}
else if (APP_UART_EVT_TX_CPLT == p_evt->type)
{
update_ble_flow_ctrl_state();
}
}
Darren
看配置参数没有发现异常,发送正常说明UART模块初始化是成功的,是否可以再提供一些信息,例如函数接口调用的返回值等信息,电脑COM口配置是否OK,另外可以debug一下,电脑上位机发送时间时,是否有进入UART的ISR
打开微信,使用“扫一扫”即可关注