1:uart
console.uart=UART0;
csi_uart_config_t tUartConfig;
tUartConfig.byParity = UART_PARITY_EVEN; //no parity
tUartConfig.wBaudRate = 2000000;
tUartConfig.wInt = UART_INTSRC_NONE; //no interrupt
tUartConfig.byRxMode = UART_TX_MODE_POLL;
tUartConfig.byTxMode = UART_RX_MODE_POLL;
csi_uart_init(UART0, &tUartConfig);
csp_uart_set_fifo(UART0, UART_RXFIFO_1_2, DISABLE);
csi_uart_start(UART0, UART_FUNC_TX); //enable tx
2:usart
console.uart=(void *)USART0;
csi_usart_config_t tUsartCfg; //USART0 参数配置结构体
tUsartCfg.byClkSrc = USART_CLKSRC_DIV1; //clk = PCLK
tUsartCfg.byMode = USART_MODE_ASYNC; //异步模式
tUsartCfg.byDatabit = USART_DATA_BITS_8; //字节长度,8bit
tUsartCfg.byStopbit = USART_STOP_BITS_1; //停止位,1个
tUsartCfg.byParity = USART_PARITY_EVEN; //偶校验
tUsartCfg.bClkOutEn = DISABLE; //禁止USARTCLK输出;同步模式时,USARTCLK可以给另外设备上的USART提供clk,作为同步输入时钟使用
tUsartCfg.wBaudRate = 2000000; //波特率
tUsartCfg.wInt = USART_INTSRC_NONE; //使用TXFIFO中断(默认推荐)
tUsartCfg.byTxMode = USART_TX_MODE_POLL; //发送模式:轮询/中断模式
tUsartCfg.byRxMode = USART_RX_MODE_POLL; //接收模式:轮询模式
csi_usart_init(USART0, &tUsartCfg); //初始化串口
csi_usart_start(USART0, USART_FUNC_TX); //开启USART的RX和TX功能,也可单独开启RX或者TX功能
3:my_printf接口需要用到的函数
int fputc(int ch, FILE *stream)
{
(void)stream;
//csi_usart_putc((void *)(console.uart), (uint8_t)ch);
csi_uart_putc((void *)(console.uart), (uint8_t)ch);
return 0;
}
4:bldc发送数据接口
static inline void dbg_uart_send(U8_T data){
UART0->ISR =0x1;
UART0->DATA = data;
//USART0->THR = data;
}