你好,
我使用DA14850定制板为我的项目。我正在工作的sps_device项目。
我有一些问题要问ble:
1.我可以从串行终端发送数据到DSPS Android应用程序。这里我从键盘输入一些随机数据,我看到整个数据显示在DSPS应用程序。不幸的是,我不能做相反的。我想从应用程序发送数据到串行终端。我看到有一个选项发送数据在应用程序。当我输入一些数据在发送控制台的dsps应用程序和点击发送,我没有看到任何数据在串行终端。这是可能的吗?。
2.当ble是在ARCH_EXT_SLEEP_ON模式下,我只能在DSPS上看到部分数据。我认为有完整的数据传输ble应该总是在ARCH_SLEEP_OFF模式。我们如何把ble在ARCH_EXT_SLEEP_ON模式,然后当我们试图发送数据时,我们如何自动切换ble到ARCH_SLEEP_OFF模式?节省功耗。
3.我测量了ble在ARCH_SLEEP_OFF模式下数据传输到dsp时的功耗,它是0.48mA。在睡眠模式,它是0.16mA(当我试图发送一些数据消耗上升到0.25mA,只有部分数据出现在应用程序。有人做了这个测量,什么值?)谢谢你!
设备:
嗨,甘地,
谢谢,PM_Dialog
亲爱的PM_Dialog,
一旦您能够将数据从串行监视器发送到DSPS移动应用程序,这意味着固件和您的设置工作正确,因此您应该能够做相反的事情。但是,你能不能给我提供更多关于这方面的信息,并试着描述一下你是如何从移动应用程序发送数据到串行终端的?您在使用哪个终端?你启用本地回声了吗?一些截屏可能会很有帮助
它是有效的。问题是当我以ASCII格式发送数据时,它是不工作的。最初我应该发送十六进制格式的数据,然后切换到ASCII,然后它是工作。它看起来很奇怪。
如果您正在使用扩展睡眠模式,您应该使用硬件流控制。否则芯片将无法唤醒。请问是否有硬件流量控制?
是的,我在使用延长睡眠模式。要使用硬件流量控制,我应该连接硬件引脚的CTS和RTS对吗?我没有这些引脚可用在我目前的调试器。
当我使用JTAG时,我会使用硬件流控制。现在我使用软件流程控制。我只是在user_peripg_setup.h文件中解定义硬件流程控制和定义软件流程控制。并在term serial terminal in setup in serial port in flow control我切换了Xon/Xoff。
你有实现软件流控制的代码片段吗?
当我试图将数据从BLE发送到串行终端时,我设法将整个数据发送到串行终端时,BLE处于睡眠模式。
我测量了电流消耗:在睡眠模式下它是0.1mA,当我连接dsps应用程序它是0.35mA,在数据传输期间它是0.38mA。在这里,我要求以每200毫秒的速度发送一些单词和数字。我看到串行终端显示的全数据。这意味着当我连接应用程序是唤醒从睡眠模式?
软流量控制和硬流量控制的功耗是相同的。
我可以用深度睡眠来唤醒它吗?
谢谢你回答我的问题。
嗨Gandi,
因为你使用的是延长睡眠模式,你应该连接CTS/RTS引脚。否则你将无法醒来。
谢谢,PM_Dialog