DSPS没有流量控制
DA14530和DA14531.
3个月前
DSPS没有流量控制
张贴了wplatzer25分 7回复你好,
我正在通过DSPS服务传输数据包(USART到BLE传输;DSPS_6.150.4.50)。如果数据包大小<= 256一切工作良好;更大的数据包大小不能正确传输。
问题是我不能使用流量控制(没有引脚左)。
是否有一种方法扩展USART RX缓冲区到1000字节?
我可以禁用USART流控制吗?
谢谢,
WP.
3个月前
嗨wplatzer,
如我之前的回复中所述,DSP正式提供并支持HW流量控制和EXT睡眠模式。
如果您想在没有HW Flow Control的情况下使用它,则可能的解决方案可能是以下情况。它没有测试/验证 - 这只是一个可能的解决方法。不建议使用,我们也无法提供任何进一步的支持。
应禁用扩展睡眠模式:
const static sleep_state_t app_default_sleep_mode = arch_sleep_off;
DSP不包括用于启用/禁用HW流控制的宏定义。所以,你可以将CTS引脚放在地上。
如果没有流量控制,则是一个关键问题是堆积超过。在这种情况下,DA14531将执行流关闭,因为它无法接收任何其他即将到来的数据,但对等设备将不知道这一点,以便通过UART停止数据传输。如前所述,如果您可能会有数据丢失,如果:
i)外部MCU通过UART以非常高的速率发送数据
ii)BLE链接不够好,因此应该重新发送一些数据
谢谢,PM_DIALOG.
2个月前
你好,
谢谢您的回答。不幸的是,这不起作用。
onst static sleep_state_t app_default_sleep_mode = arch_sleep_off;
如果我禁用睡眠模式,则项目不会再编译。
链接......
。\释放\ obj \ da14531.axf:警告:l6969w:在er_irom3中从RW到RO的部分更改。
。\释放\ obj \ da14531.axf:警告:l6969w:在er_irom3中从RW到RO的部分更改。
。\释放\ obj \ da14531.axf:内部故障:[0xFEA234:5060960]
。\释放\ obj \ da14531.axf:请联系您的供应商。
没有足够的信息来生成Symdefs文件。
完成:1个信息,2个警告和0错误消息。
“。\释放\ obj \ da14531.axf” - 2错误,2个警告。
谢谢,WP.
2个月前
嗨wplatzer,
这是非常奇怪的 - 你应该能够建立项目。你能在干净的DSP项目中尝试吗?当延长睡眠关闭时,我能够编译DSP v6.150.4.50。
谢谢,PM_DIALOG.
3个月前
嗨wplatzer,
谢谢你的问题在线。默认情况下,DSP配置为扩展睡眠模式,它使用UART HW流量控制(RTS / CTS)。因此,它支持扩展睡眠模式和HW流量控制。需要流量控制以唤醒设备槽CTS引脚。请记住,当设备配置为扩展睡眠模式时,它将在广告或连接间隔之间睡眠。在睡眠期间,所有外围域(包括UART)都会关闭,因此您将无法使用UART活动,并且您应该以某种方式唤醒芯片。除了唤醒DA14531,还需要通过UART处理传入数据所需的流量控制。如果DSP没有流量控制并且堆已过满,则应用程序将无法无法接收任何其他即将到来的数据,但对等设备将不了解这一点,以便停止通过UART传输数据。这意味着您将具有数据丢失。
而不是DSP,可以使用无附加方案参考应用程序设计。
https://www.dialog-seminile.com/produ亚博电竞菠菜cts/smartbond-codeless-commands.
对于“DataPumping”应用程亚博国际官网平台网址序,您可以使用“二进制模式” - 请在用户手册中查找更多详细信息:
http://lpccs-docs.dialog-semicondiond.com/um-140-da145x-codeless/binarymode.html.
二进制模式用于数据泵的目的,其中蓝牙无附带设备在不检查IT内容的情况下传输数据,这是端到端原始数据传输的首选方法。默认情况下,禁用HW流量控制,因此不需要RTS / CTS。
您可以进行快速测试检查此项:您可以在“无附件主机”应用程序中发送AT + FlowControl,并且您将看到返回值(0,0,0),这意味着流量控制已禁用。
谢谢,PM_DIALOG.