他的……
我只是实现了在ble_app_barebone的例子作为uart_sync的例子,但传输(使用函数uart2_write)工作良好。在接收的情况下它不工作(使用函数uart2_read)。你能告诉我为什么uart没有收到数据吗?
我只是保留gpio的(p0.4和p0.5)后,它配置和启用uart时钟。并传输一些数据(工作良好)之后,接收一些数据但不接收数据,它不会触发回调uart2_read_completion_cb。
Gpio保留:
gpio (uart2_tx, gpio_port_0, gpio_pin_4, pid_uart2_tx);
Reserve_gpio (uart2_rx, gpio_port_0, gpio_pin_5, pid_uart2_rx);
配置gpio: -
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART2_TX, false);
GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART2_RX, false);
时钟使:
SetBits16 (CLK_PER_REG UART2_ENABLE 1);//为UART 2启用时钟
uart2_init (UART_BAUDRATE_115K2 UART_CHARFORMAT_8);
后:
uart2_write (uint8_t *)"test for data\n\r", strlen("test for data\n\r"), uart2_write_completion_cb);/ /工作正常
uart2_read (rxbuf 1 uart2_read_completion_cb);//不触发uart2_read_completion_cb
嗨alan.a,
你能解释一下你是否在使用任何一种睡眠模式吗?如果是,由于UART块的原因,您无法通过UART I接收数据的最可能原因是处于睡眠模式。这意味着设备将不会接收任何数据,因为它是睡眠模式。我建议您以活动模式(没有任何睡眠配置)运行代码,并尝试将数据发送到DA14580。同时,对UART信号的探测也非常有帮助。
谢谢,PM_Dialog