我经历了串行端口服务的代码,因为它与UART和SPS之间共享的指针设置,我不确定将数据从应用程序发送到移动设备的最佳方法。例如,我想定期发送来自传感器的ASCII值,但是使用示例代码执行此操作的最佳方法是应该在内存中分配我自己的指针然后调用app_uart_push()?也许几行示例代码会有所帮助。谢谢!
嗨,
我建议实施自定义服务以移动传感器数据。据我所知,您的传感器数据是定期传输的谨慎数据集。该应用笔记http://support.dialog-semicondiondiondum/download/file/fid/885.涵盖如何在一步一步的教程中构建自己的自定义服务。该应用笔记还介绍了如何在数据更改时设置允许设备将数据发送到SMRartphone的通知。DSP使用相同的基本方法(GATT上通知),并且是在非常高的数据速率下需要流数据的系统的伟大候选者,但是它不是Disceret数据包的周期传输的最佳候选者。使用自定义服务还使实现应用程序的智能手机侧更容易。
好的,我会看看。是的,您是正确的,它们将非常小,定期数据集,因此不需要高数据流。
亲爱的JBaczuk,纽伯的问题。您是否知道在哪里可以在哪里找到来自SPS项目的键盘的数据?我注意到UART_RX_CALLBACK()可以实现函数及其定义如下所示
***************************************************************************************** @brief接收回调函数将处理传入的UART数据** @param [in] res(状态:uart_status_ok,uart_status_error,uart_status_timeout)** @return none***************************************************************************************** /
静态void UART_RX_CALLBALL(UINT8_T RES,UINT32_T READ_SIZE){//从UART调用的函数接收ISRif(res == uart_status_ok){app_uart_push(rx_read_pointer,rx_callback_size,rx_state_ptr);}
//从UART Timeout ISR调用的函数否则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_CALLBALL()中的UART_SPS_READ(),其定义是:void UART_SPS_READ(UINT8_T * BUFPTR,UINT32_T大小,UINT8_T *状态,VOID(*回调)(UINT8_T,UINT32_T)){// 完整性检查assert_err(bufptr!= null);assert_err(size!= 0);assert_err(uart_sps_env.rx.bufptr == null);
//准备RX参数uart_sps_env.rx.size = size;UART_SPS_ENV.RX.BUFPTR = BUFPTR;uart_sps_env.rx.state = state;UART_SPS_ENV.RX.CALLBACK =回调;
//开始数据事务UART_REC_DATA_AVAIL_SETF(1);// = setBits16(UART_IER_DLH_REG,ETBEI_DLH0,1);}
我没有找到键盘的任何输入..由于我想使用MCU生成的非常小的定期数据集来修改这个项目,以替换键盘中的数据输入。(仅生成信号来模拟真实数据),我需要知道uart读取的数据..
你能给我一些提示吗?非常感谢!
如果可以回答这个问题,那么我现在正在努力的项目会有所帮助。
你在谈论键盘数据之前是否在BLE或之后发送?这可能是对对话的更好问题,因为我没有与SPS花很多时间,我为我的应用程序创建了自定义配置文件。
抱歉的男人意味着要将此额头指向对话。我已经开始了自己的话题,考虑对他们有很多问题!是的,我只是想知道在代码中收到键盘数据,因为我在他们的榜样中找不到它,而不是我们在项目中直接需要的东西,但我很好奇的东西。
嗨Nrenney,
如果我理解这个问题,因为显然有一点混合。您希望存储从DSP中的UART接收的数据的位置?从UART接收的数据被放置在PERIPH_TO_BLE_BUFFER环形缓冲区(在指向DATA_PTR成员的地址处)。
谢谢mt_dialog.
嗨jbaczuk,
无法找到应用程序注意的资源链接!您知道相关申请笔记的名称吗?这会帮助我很多!
提前致谢。
Bluesdk18
嗨Bluesdk18,
我想你有兴趣拥有一个演示,它将使用通知向中央发送数据,在这种情况下,BLE_APP_PERITELAL已全部演示,只需将0x01写入控制点特性,并按顺序向ADC 1的通知。开始获取数据。此外,还有一个关于“教程”部分构建自定义配置文件的教程,这些配置文件将帮助您自定义已全部现有自定义配置文件。您将引用其相当旧的链接以及链接到最多可能的文档可能是已过时并从支持站点中删除。
嗨mt_dialog,
感谢您对我的问题的回复!答案是我需要知道的。
嗨,
我建议实施自定义服务以移动传感器数据。据我所知,您的传感器数据是定期传输的谨慎数据集。该应用笔记http://support.dialog-semicondiondiondum/download/file/fid/885.涵盖如何在一步一步的教程中构建自己的自定义服务。该应用笔记还介绍了如何在数据更改时设置允许设备将数据发送到SMRartphone的通知。DSP使用相同的基本方法(GATT上通知),并且是在非常高的数据速率下需要流数据的系统的伟大候选者,但是它不是Disceret数据包的周期传输的最佳候选者。使用自定义服务还使实现应用程序的智能手机侧更容易。
好的,我会看看。是的,您是正确的,它们将非常小,定期数据集,因此不需要高数据流。
亲爱的JBaczuk,
纽伯的问题。您是否知道在哪里可以在哪里找到来自SPS项目的键盘的数据?我注意到UART_RX_CALLBACK()可以实现函数及其定义如下所示
****************************************************************************************
* @brief接收回调函数将处理传入的UART数据
*
* @param [in] res(状态:uart_status_ok,uart_status_error,uart_status_timeout)
*
* @return none
****************************************************************************************
* /
静态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 Timeout ISR调用的函数
否则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_CALLBALL()中的UART_SPS_READ(),其定义是:
void UART_SPS_READ(UINT8_T * BUFPTR,UINT32_T大小,UINT8_T *状态,VOID(*回调)(UINT8_T,UINT32_T))
{
// 完整性检查
assert_err(bufptr!= null);
assert_err(size!= 0);
assert_err(uart_sps_env.rx.bufptr == null);
//准备RX参数
uart_sps_env.rx.size = size;
UART_SPS_ENV.RX.BUFPTR = BUFPTR;
uart_sps_env.rx.state = state;
UART_SPS_ENV.RX.CALLBACK =回调;
//开始数据事务
UART_REC_DATA_AVAIL_SETF(1);// = setBits16(UART_IER_DLH_REG,ETBEI_DLH0,1);
}
我没有找到键盘的任何输入..
由于我想使用MCU生成的非常小的定期数据集来修改这个项目,以替换键盘中的数据输入。(仅生成信号来模拟真实数据),我需要知道uart读取的数据..
你能给我一些提示吗?非常感谢!
如果可以回答这个问题,那么我现在正在努力的项目会有所帮助。
你在谈论键盘数据之前是否在BLE或之后发送?这可能是对对话的更好问题,因为我没有与SPS花很多时间,我为我的应用程序创建了自定义配置文件。
抱歉的男人意味着要将此额头指向对话。我已经开始了自己的话题,考虑对他们有很多问题!
是的,我只是想知道在代码中收到键盘数据,因为我在他们的榜样中找不到它,而不是我们在项目中直接需要的东西,但我很好奇的东西。
嗨Nrenney,
如果我理解这个问题,因为显然有一点混合。您希望存储从DSP中的UART接收的数据的位置?从UART接收的数据被放置在PERIPH_TO_BLE_BUFFER环形缓冲区(在指向DATA_PTR成员的地址处)。
谢谢mt_dialog.
嗨jbaczuk,
无法找到应用程序注意的资源链接!
您知道相关申请笔记的名称吗?
这会帮助我很多!
提前致谢。
Bluesdk18
嗨Bluesdk18,
我想你有兴趣拥有一个演示,它将使用通知向中央发送数据,在这种情况下,BLE_APP_PERITELAL已全部演示,只需将0x01写入控制点特性,并按顺序向ADC 1的通知。开始获取数据。此外,还有一个关于“教程”部分构建自定义配置文件的教程,这些配置文件将帮助您自定义已全部现有自定义配置文件。您将引用其相当旧的链接以及链接到最多可能的文档可能是已过时并从支持站点中删除。
谢谢mt_dialog.
嗨mt_dialog,
感谢您对我的问题的回复!
答案是我需要知道的。
Bluesdk18