最好的方式流数据使用串行端口服务

11个员额/ 0个新员额
最后发表
JBaczuk
离线
最后看到:1年11个月前
加入:2014-12-31 23:41
最好的方式流数据使用串行端口服务

我已经浏览了串口服务的代码,由于它是用在UART和SPS之间共享的指针设置的,所以我不确定将数据从应用程序发送到移动设备的最佳方式。例如,我想周期性地从传感器发送ASCII值,但是使用示例代码来做这件事的最佳方法是什么?我应该在内存中分配自己的指针,然后调用app_uart_push()吗?也许几行示例代码会有帮助。谢谢!

关键词:
设备:
MHv_Dialog
离线
最后看到:5天8小时前
工作人员
加入:15 2013-12-06
你好,

你好,

我建议实现一个定制服务来移动传感器数据。据我所知,你的传感器数据是周期性传输的谨慎数据集。应用笔记http://support.dialog-semiconductor.com/download/file/fid/885在一步一步的教程中介绍了如何构建自己的自定义服务。应用笔记还描述了如何设置通知,允许设备在数据变化时向智能手机发送数据。DSPS使用相同的基本方法(通过GATT的通知),对于需要流数据以非常高的数据速率传输的系统来说,它是一个很好的候选者,但对于区分数据包的周期性传输来说,它不是最好的候选者。使用自定义服务也使得实现应用程序的智能手机端变得更加容易。

JBaczuk
离线
最后看到:1年11个月前
加入:2014-12-31 23:41
好的,我去看看。是的,

好的,我去看看。是的,你是对的,它们将是非常小的,周期性的数据集,所以高数据流是不需要的。

Elvis1991
离线
最后看到:9个月1个星期前
加入:2014-12-09 08:18
亲爱的JBaczuk,

亲爱的JBaczuk,
新手的问题。你知道在SPS项目中哪里可以找到键盘输入的数据吗?我注意到uart_rx_callback()可以实现如下所示的函数及其定义

****************************************************************************************
* @brief接收回调函数将处理传入的uart数据

* @param[in] res (status: UART_STATUS_OK, UART_STATUS_ERROR, UART_STATUS_TIMEOUT)

* @return没有
****************************************************************************************
*/

Static void uart_rx_callback(uint8_t res, uint32_t read_size)

//从uart中调用函数
如果(res = = UART_STATUS_OK)

app_uart_push (rx_read_pointer RX_CALLBACK_SIZE rx_state_ptr);

//调用uart超时isr
else if(res == UART_STATUS_TIMEOUT) / /设置静态状态

app_uart_push (rx_read_pointer read_size rx_state_ptr);

其他的

(1);//从未知源调用回调函数

/ /我觉得回调
uart_sps_read(rx_read_pointer, RX_CALLBACK_SIZE, &rx_state_ptr, &uart_rx_callback);

我跟踪了uart_rx_callback()中的uart_sps_read(),它的定义是:
Void uart_sps_read(uint8_t *bufptr, uint32_t size, uint8_t *state, Void (*callback) (uint8_t, uint32_t))

/ /检查
ASSERT_ERR (bufptr ! = NULL);
ASSERT_ERR(大小! = 0);
ASSERT_ERR (uart_sps_env.rx。bufptr = = NULL);

//准备RX参数
uart_sps_env.rx。大小=大小;
uart_sps_env.rx。bufptr = bufptr;
uart_sps_env.rx。=状态;
uart_sps_env.rx。回调=回调;

//启动数据事务
uart_rec_data_avail_setf (1);/ / = SetBits16 (UART_IER_DLH_REG ETBEI_dlh0 1);

我没有找到任何键盘输入。
由于我想修改这个项目,使用非常小的,由MCU产生的周期性数据集来代替键盘输入的数据。(只是生成一个信号来模拟真实的数据),我需要知道数据读UART..

你能给我一些提示吗?谢谢!

NRenney
离线
最后看到:3年5个月前
加入:2017-06-26 44
如果这个问题可以

如果这个问题能够得到回答,它将对我现在正在进行的项目有帮助。

JBaczuk
离线
最后看到:1年11个月前
加入:2014-12-31 23:41
你说的是什么

你说的是键盘数据在通过BLE发送之前还是之后?对于Dialog来说,这可能是一个更好的问题,因为我没有花太多时间在SPS上,我为我的应用程序创建了一个自定义配置文件。

NRenney
离线
最后看到:3年5个月前
加入:2017-06-26 44
抱歉,导演

抱歉,我想说的是对话。我已经开始了我自己的话题,考虑一个有更多的问题给他们!
是的,我只是想知道在代码中键盘数据是在哪里接收的,因为我在他们的例子中找不到它,这不是我们在项目中直接需要的东西,但我很好奇。

MT_dialog
离线
最后看到:5个月1个星期前
工作人员
加入:2015-06-08 34
嗨NRenney,

嗨NRenney,

如果我正确理解了这个问题,因为显然有一点混淆。您想知道从DSPS中UART接收的数据存储在哪里?从UART接收到的数据被放置在peripher_to_ble_buffer Ring缓冲区中(位于指向data_ptr成员的地址处)。

由于MT_dialog

BlueSDK18
离线
最后看到:3年4个月前
加入:2018-02-13十一25
嗨JBaczuk,

嗨JBaczuk,

无法找到应用说明的资源链接!
你知不知道有关申请须知的名称?
那对我有很大帮助!

提前谢谢。

BlueSDK18

MT_dialog
离线
最后看到:5个月1个星期前
工作人员
加入:2015-06-08 34
嗨BlueSDK18,

嗨BlueSDK18,

我假设你感兴趣有一个演示使用通知将发送数据中心,在这种情况下ble_app_peripheral已经证明,只写一个0 x01控制点特点和ADC 1上启用的通知为了开始数据值。在“教程”一节中也有一个教程,它将帮助你定制已经存在的自定义配置文件。您所引用的链接非常旧,并且链接到的文档很可能已经过时并从支持站点中删除了。

由于MT_dialog

BlueSDK18
离线
最后看到:3年4个月前
加入:2018-02-13十一25
嗨MT_Dialog,

嗨MT_Dialog,

谢谢你对我问题的回复!
答案是我需要知道的。

BlueSDK18