我正在进行一种尝试从UART读取的情况来停止我的申请。我已经配置了两个用于UART通信的引脚,并将USB连接到TTL适配器给这些引脚。在这些条件下,一切都适用,但如果我连接了没有USB的电路板连接到TTL适配器,则应用程序似乎停止调用AD_UART_READ()。我还发现,当我只连接RX和TX引脚时它不会停止。
对于我的应用程序,UART的通信是一个可选功能,并且我需要应用程序运行,无论是否连接Rx / Tx。
我如何配置的东西如下:
//为UART配置两个引脚:
static const gpio_config gpio_cfg [] = {
hw_gpio_pinconfig(hw_gpio_port_1,hw_gpio_pin_2,输出,uart_tx,false),
hw_gpio_pinconfig(hw_gpio_port_1,hw_gpio_pin_4,输出,uart_rx,false),
hw_gpio_pinconfig_end.
}
......
静态void periph_init(void){
hw_gpio_configure(gpio_cfg);
}
//在单独的任务设置中,从UART读取循环:
UART_DEVICE UART = AD_UART_OPEN(SERIAL1);
为了 (;;) {
uint8_t buf [buf_len];
INT LEN = AD_UART_READ(UART,BUF,BUF_LEN,OS_EVENT_FOREVER);
}
设备:
嗨Ainwood87,
因为在你的较新的线程中提到,我相信你经历的问题是由延长睡眠引起的。请在较新帖子中查看我们的建议。
https://support.dialog-semicondiondiondiondiond.com/forums/post/dialog-smartbond-bluetooth-low-energy-%e2%80%93-software/uart-read-fails-after-few-attept.
谢谢,PM_DIALOG.