前文已经完成了测试 使用的谷雨的 bsp_uart.h
现在我将使用官方的历程!其实谷雨的 bsp_uart.h 写的很棒 我一年前我的原创的人工空闲中断神似
官方的历程 用来完成printf 即可 它没有硬件定时器哦 所以 :怀恋谷雨
开始吧
工作起点 还是前文 我想做print怎么办?
你会想直接写一下 行不?
.C最后追加
可以看到 printf("HELLO WORLD\r\n"); 只有一个H出来!!!!!!
怎么办?你知道了 这个函数写的有问题 它应该是类似.C前面的 UART_Write 但是但是长度怎么办?
所以这个.C需要放弃了 把官方的拿出来 其实谷雨是改造的官方的
D:\git\xwatch\components\libraries\uart
不要ADD第一个文件 它和第三个文件是一样的 都是第二个文件.H下面的 实现方式不同而已
既然我们用来FIFO那么还需要文件
D:\git\xwatch\components\libraries\fifo
增加他们
现在处理编译问题
#ifndef RETARGET_ENABLED
#define RETARGET_ENABLED 1
#endif
#ifndef APP_UART_ENABLED
#define APP_UART_ENABLED 1
#endif
#ifndef APP_UART_DRIVER_INSTANCE
#define APP_UART_DRIVER_INSTANCE 0 //使用串口0 static nrf_drv_uart_t app_uart_inst = NRF_DRV_UART_INSTANCE(APP_UART_DRIVER_INSTANCE);
#ifndef APP_FIFO_ENABLED
#define APP_FIFO_ENABLED 1
#endif
可以测试了
谷雨的接口不要了 我们简单做个接口
此时可以printf了!
可以优化上面的 在外设 uart代码是
const app_uart_comm_params_t comm_params =
{
RX_PIN_NUMBER,
TX_PIN_NUMBER,
RTS_PIN_NUMBER,
CTS_PIN_NUMBER,
UART_HWFC,
false,
#if defined (UART_PRESENT)
NRF_UART_BAUDRATE_115200
#else
NRF_UARTE_BAUDRATE_115200
#endif
};
APP_UART_FIFO_INIT(&comm_params,
UART_RX_BUF_SIZE,
UART_TX_BUF_SIZE,
uart_error_handle,
APP_IRQ_PRIORITY_LOWEST,
err_code);