在single_connection中使用sample例程,加入driver例程中的UART_DEMO进行串口的打印和回显,
#if(UART_MODE_TRX == TX)
if(uart_dma_send_flag == 1)
{
uart_send_dma((unsigned char *)trans_buff);
trans_buff[4] ++;
uart_dma_send_flag = 0;
}
#elif(UART_MODE_TRX == RX)
uart_dma_send((unsigned char *)trans_buff);
gpio_toggle(LED1);
sleep_ms(500);
#endif
发现printf打印使用的是u_printf函数,但打印数据没有,却可以进行串口回显
#if (UART_MODE==UART_DMA)
if(reg_uart_status1 & FLD_UART_TX_DONE)
{
uart_dmairq_tx_cnt++;
uart_dma_send_flag = 1;
gpio_toggle(LED2);
uart_clr_tx_done();
}
#if(UART_DMA_INT_TYPE == UART_RXDMA_IRQ)
if(dma_chn_irq_status_get() & FLD_DMA_CHN_UART_RX)
{
uart_send_dma((unsigned char *)rec_buff);
dma_chn_irq_status_clr(FLD_DMA_CHN_UART_RX);
uart_dmairq_rx_cnt++;
}
使用的是DMA方式,请问如何既能打印又能回显
No more topics |
你好,
暂时没理解你的问题,当前printif和串口并没有关联上的,你需要自己将该两部分关联上,才能通过printf打印到dma串口上
目前的现象是串口只能回显不能进行printf打印;
对比了uart_demo中的printf和single_connection中的b85m_ble_sample两个printf,
前者#define printf tl_printf(只能printf)
后者#define printf u_printf(只能回显)
按照uart_demo例程,应该都关联了吧