nRF51822 DTM 测试 不能连续发送数据

1、打开DTM工程

在SDK包安装解压目录中找到DTM项目,打开*\nRF51_SDK_10.0.0_dc26b5e\examples\dtm\direct_test_mode工程;

2、修改串口参数

串口默认波特率19200bps;

1)可以在main.c中uart_init函数中直接修改相应的串口参数;
static void uart_init(void)
{
    // Configure UART0 pins.
    nrf_gpio_cfg_output(9);
    nrf_gpio_cfg_input(10, NRF_GPIO_PIN_NOPULL);

    NRF_UART0->PSELTXD       = 9;
    NRF_UART0->PSELRXD       = 10;
    NRF_UART0->BAUDRATE      = BITRATE;

    // Clean out possible events from earlier operations
    NRF_UART0->EVENTS_RXDRDY = 0;
    NRF_UART0->EVENTS_TXDRDY = 0;
    NRF_UART0->EVENTS_ERROR  = 0;

    // Activate UART.
    NRF_UART0->ENABLE        = UART_ENABLE_ENABLE_Enabled;
    NRF_UART0->INTENSET      = 0;
    NRF_UART0->TASKS_STARTTX = 1;
    NRF_UART0->TASKS_STARTRX = 1;
}
2)也可以在pca1028.h头文件中修改串口参数

只需要修改 RX_PIN_NUMBERTX_PIN_NUMBERHWFC

#define RX_PIN_NUMBER  10
#define TX_PIN_NUMBER  9
#define CTS_PIN_NUMBER 11
#define RTS_PIN_NUMBER 8
#define HWFC           false

nRF51822 DTM 测试 不能连续发送数据_第1张图片

3、编译下载固件

1)完成上面操作后编译程序,没有报错;
2)连接下载器擦除芯片原有固件,重新烧录SoftDevice(一般烧录的是S110),完成后下载刚编译的DTM工程固件到设备;

4、开始测试

1)连接电路板,通过配置的串口与PC连接;
2)打开PC软件nRFgo Studio,选择“Direct Test Mode”选项;
3)选择串口“Com port”;
4)点“Start test”;(此时若没有报错表示nRFgoStudio与测试设备板连接成功)
5)设置Mode=Transmit,Channel=Single,19,Payloadmodel=PRBS9,点“Start test”看是测试,可是用示波器测试设备输出引脚有连续波形输出可正常测试;
注:点Start test没有报错,发出的信号不连续,很快就断开可能是开启了看门狗的问题,可在主函数中不断喂狗即可;

static void SC_WdtFeed(void)
{
    if(NRF_WDT->RUNSTATUS & WDT_RUNSTATUS_RUNSTATUS_Msk)
        NRF_WDT->RR[0] = WDT_RR_RR_Reload;
}

nRF51822 DTM 测试 不能连续发送数据_第2张图片

你可能感兴趣的:(nRF51822 DTM 测试 不能连续发送数据)