串行通信仅以低速工作

嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
Jeroenlqd.
离线
最后一次露面:2年10个月前
加入:2017-11-21 15:24
串行通信仅以低速工作

你好,

我正在使用DA14681基本开发套件,并愉快地通过串行和JTAG上传示例。然而,无论终端中设置的波特率如何,都会向串行终端打印到串行终端的一切。只有在/startup/config.c中将波特率设置为9600(默认为115200)后,才能运行良好。

无法以更高的波特率打印不一定是调试的问题,但它确实将我击中奇数。另外三个板和计算机具有同样的问题。在57600的靴子期间,董事会确实将其名称吐了四次,因此它似乎以更高的速度沟通。我假设UART配置在引导加载程序完成后的CONFIG.C中的PARAMS配置。可能是某些东西没有正确初始化或某些时钟是不稳定的吗?

干杯,
Jeroen.

设备:
Jeroenlqd.
离线
最后一次露面:2年10个月前
加入:2017-11-21 15:24
我们一直在摆弄它

我们一直在摆弄它有点,发现以下速度工作:

4800
9600(4800 x 2)
19200(4800 x 4)
38400(4800 x 8)

波特率不起作用4800不起作用。144000(4800 x 3),57600(4800 x 12)和115200(4800 x 24)都吐出来凝血......

mt_dialog.
离线
最后一次露面:2天前1周
职员
加入:2015-06-08 11:34
嗨Jeroenlqd,

嗨Jeroenlqd,

这是因为基本套件不是使用FTDI芯片作为UART端口,而是JLINK调试器的UART,因为JLINK没有将其输出UART引脚设置为高,除非是从PC传输到电路板的东西。PIN状态通过电平移位器保持后的液位复位。配置PIN作为UART_RX无法打开上拉电阻,因此RX线保持低,此状态通常被驳除为断裂状态。无论如何,周围的工作是调用以下指导:

hw_gpio_configure_pin(hw_gpio_port_2,hw_gpio_pin_3,hw_gpio_mode_output,hw_gpio_func_gpio,1);

使用该函数只是在将PIN UART函数中设置PERIPH_INIT()之前,您将能够操作基本套件的UART,您可以检查下面的片段:

静电void periph_init(空白)
{
hw_gpio_configure_pin(hw_gpio_port_2,hw_gpio_pin_3,hw_gpio_mode_output,hw_gpio_func_gpio,1);
hw_gpio_set_pin_function(hw_gpio_port_1,hw_gpio_pin_3,hw_gpio_mode_output,
hw_gpio_func_uart2_tx);
hw_gpio_set_pin_function(hw_gpio_port_2,hw_gpio_pin_3,hw_gpio_mode_output,
hw_gpio_func_uart2_rx);
}

此外,您还可以使用FTDI电缆并将UART引脚连接到电缆而不是JLink的UART。

谢谢mt_dialog.

Jeroenlqd.
离线
最后一次露面:2年10个月前
加入:2017-11-21 15:24
嗨mt_dialog,

嗨mt_dialog,

感谢您的解释!我们测试了它,现在港口现在适用于所有波特率。仍然特殊的是,它以前的波特率为4k8 * 2 ^ x,但我现在很高兴它现在运作。

干杯,
Jeroen.