⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
2个帖子/ 0个新
最后发表
alan.a
离线
最后看到:2年6个月前
加入:2018-10-31 07:50
UART的问题

他的……
我只是实现了在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

设备:
PM_Dialog
离线
最后看到:13小时18分钟前
工作人员
加入:2018-02-08 11:03
嗨alan.a,

嗨alan.a,

你能解释一下你是否在使用任何一种睡眠模式吗?如果是,由于UART块的原因,您无法通过UART I接收数据的最可能原因是处于睡眠模式。这意味着设备将不会接收任何数据,因为它是睡眠模式。我建议您以活动模式(没有任何睡眠配置)运行代码,并尝试将数据发送到DA14580。同时,对UART信号的探测也非常有帮助。

谢谢,PM_Dialog