使用串口服务流数据的最佳方式

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

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

关键词:
设备:
MHv_Dialog
离线
最后看到:1个月前4个星期前
工作人员
加入:2013-12-06 15:10
你好,

你好,

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

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

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

Elvis1991
离线
最后看到:6个月6天前
加入: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没有
****************************************************************************************
*/

静态void UART_RX_CALLBALL(UINT8_T RES,UINT32_T READ_SIZE)

//函数从uart接收isr
if(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(),它的定义是:
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年2个月前
加入:2017-06-26 15:44
如果这个问题可以

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

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

你在谈论键盘数据之前是否在BLE或之后发送?这可能是对对话的更好问题,因为我没有与SPS花很多时间,我为我的应用程序创建了自定义配置文件。

NRenney
离线
最后看到:3年2个月前
加入:2017-06-26 15:44
抱歉,我是来指挥的

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

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

嗨NRenney,

如果我正确理解了这个问题,显然这里有点混乱。您想知道DSPS中从UART接收的数据存储在哪里?从UART接收到的数据被放置在外围_to_ble_buffer环形缓冲区(指向data_ptr成员的地址)。

由于MT_dialog

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

嗨JBaczuk,

无法找到应用程序注意的资源链接!
你知道有关申请须知的名称吗?
这对我很有帮助!

提前谢谢。

BlueSDK18

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

嗨BlueSDK18,

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

由于MT_dialog

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

嗨mt_dialog,

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

BlueSDK18