// printf_string(“\ n \ rled每秒改变状态。\ n \ r”); // printf_string(“\ n \ n \ n将运行:”); //printf\ u byte(超时\过期); //printf_字符串(“秒。\n\r”);
//启动Timer0. 定时器0_start(); // printf_string(“\ n \ n \ n \ n \ n \ rtimer0开始!”);
//等待所需的秒数 而(timeout_expiration);
//禁用Timer0,Timer2时钟 设置tmr启用(CLK\ U PER\ U REG\ U tmr\ U DISABLED); // printf_string(“\ n \ n \ttimer0停止!\ n \ r”); //printf_字符串(“\n\rEnd of test\n\r”); } ************************************************************************************************* 我已经包含Timer0中断以延迟,这 - 虽然(timout_expiration);- 函数中的线路void timer0_general_test(uint8_t time_seconds)使代码无限循环,可能是问题,单独计时器0代码工作正常,在DSP内没有工作
嗨prasanth.velliyangiri,
我假设您可以使用app\u uart\u push()将数据从i2c推送到ble缓冲区,这通常由uart的接收回调调用,并将数据推送到ble缓冲区。您可以在《串行端口服务参考应用程序说明》中找到有关串行端口应用程序和最重要功能的所有可用信息。
谢谢你的对话
我正在使用DSPS源代码项目,我成功地从传感器读取数据,现在我想通过蓝牙发送此数据而不是通过UART发送到DSPS Android应用程序,如何执行此操作,请提及函数和步骤
我正在使用DSPS源代码 - SPS_DEVICE项目,我成功地从传感器读取数据,现在我想通过蓝牙发送此数据,到DSPS Android应用程序,如何执行此操作,请提及函数和步骤
嗨prasanth.velliyangiri,
这不是通过dialog实现的,您必须根据需要调整现有的DSPS实现,以便将数据发送到DSPS应用程序,您可以以user_periph_push()(对于SDK5版本)函数为例,调整所需的功能,以便将I2C数据从I2C传感器推送到ble缓冲区,而不是UART,然后推送到链路的另一端。如果您不想模拟串行端口,只想通过BLE发送传感器数据,则不必使用DSPS应用程序,而是使用自定义配置文件实现,并在每次有传感器数据时通知客户端。如果你需要一个例子,你可以看看应用程序的外围设备,那里有一个例子,触发一个稳定的速率间隔通知。
谢谢你的对话
问题1。请说明用于将数据发送到DSPS应用程序的功能,
Q2。还指定DSPS源代码API是否函数通过BLE和SmartBand IOT源代码API函数发送数据
我在DSPS源代码中使用user_send_ble_data(p_data,长度)函数将数据发送到DSPS应用程序,是否有任何其他功能可用于将数据发送到DSP上的数据
嗨prasanth.velliyangiri,
1正如我在上一篇文章中提到的,DSPS应用程序模拟串行通信,如果您只想将数据发送到链路的另一端,您可以使用比DSPS应用程序更简单的方法,您提到的特定函数从由UART填充的DSPS缓冲区中提取数据,并将它们作为通知发送给另一端连接的一侧。这是dsp用来将数据从缓冲区发送到链路另一端的函数。
2. DSP和IOT项目使用完全不同的自定义配置文件总计不同的项目。从本质上讲,两者都是使用通知/指示和写入和读取命令,以便沟通(作为所有BLE项目做),但两个参考设计的架构完全不同。DSP使用3个特征在无线链路上模拟串口,并且IOT使用10个特性为每个传感器或Proccessed值发送传感器数据。
谢谢你的对话
// extern void read_sensor(void)//我的req
// externed unsigned char sensoldata [20];//我的req.
void user_ble_pull(bool init,bool成功)
{
bool send\ u flow\ u on=假;
static bool tx\u busy\u flag=假;
静态uint8_t rounds_waiting = 0;
静态uint16_t长度;
//Read_sensor()//MY REQ-通过I2C从传感器读取
if(初始化)
{
如果(!tx\u忙(标记)
{
if((length = user_buffer_item_count(&periph_to_ble_buffer)> 0)
if(length> tx_wait_level ||(rounds_waiting ++)> = tx_wait_rounds)
{
uint8\u t*p\u data=NULL;
循环_waiting = 0;
tx_busy_flag = true;
长度=(长度> tx_size?tx_size:长度);length = user_buffer_read_address(&periph_to_ble_buffer,&p_data,tx_size);
length =(length
p_data[0]=“p';
p_data[1]=“p';
p_data [2] ='p';
p_data[3]=“A';
长度=4;
用户发送数据(p数据,长度);
// user_send_ble_data((const uint8_t *)senordata,长度);//我的req.
}
}
}
别的
{
tx\u busy\u flag=假;
如果(成功)
user_buffer_release_items(&periph_to_ble_buffer,长度);
if((length=user\u buffer\u item\u count(&periph\u to \u ble\u buffer))>TX\u WAIT\u LEVEL)
{
uint8\u t*p\u data=NULL;
循环_waiting = 0;
tx_busy_flag = true;
长度=(长度> tx_size?tx_size:长度);
length =(((length - tx_start_frame_data_size)/ tx_continue_frame_data_size)* tx_continue_frame_data_size + tx_start_frame_data_size);
length = user_buffer_read_address(&periph_to_ble_buffer,&p_data,tx_size);
p_data [0] ='v';
p_data [1] ='v';
p_data[2]=“V';
p_data [3] ='b';
长度=4;
用户发送数据(p数据,长度);
// user_send_ble_data((const uint8_t *)senordata,长度);//我的req.
}
}
上面的代码工作得很好,我正在DSPA移动应用程序上获取一些数据,如果我启用//MY REQ注释,代码进入无休止的循环,我将无法获取任何数据
上面的代码,在I2C读取传感器()中添加延迟是否会影响代码??,即使在物联网项目和i2c eeprom中,我也没有看到任何延迟。。。
谢谢您。。。
嗨prasanth.velliyangiri,
代码被困并进入无尽的循环?读取I2C时(read_sensor())被调用,您会看到您的代码被删除了?我不符合您谈论的延迟,在读取I2C传感器时插入延迟?
谢谢你的对话
void read_sensor(void)
{
// read_sensor_1();
//读取传感器2();
uart\ U初始化(uart\ U波特率\ U 115K2,3);
uart_flow_off();
uint8\u t something[]={0x0A,'R','e','e','3','y',0x0D,'>'};
UART_WRITE(某物,12,null);
UART_FINISH_TRANSFERS();
timer0_general_test(10);//延时定时器中断
}
*********************************************************************************************************************************
void timer0_general_user_callback_function(void)
{
静态UINT8_T n = 0;
//通过10 * 100ms
if(5 == n)
{
n=0;
uart\ U初始化(uart\ U波特率\ U 115K2,3);
uart_flow_off();
uint8_t东西[] = {0x0a,'r','e','a','d','y',0x0d,0x0a,'>'};
UART_WRITE((uint8 *)timeout_expion,10,null);
UART_FINISH_TRANSFERS();
超时\u过期--;
// printf_string(“\ nvp!”);
}
n ++;
}
************************************************************************************************************************************
无效计时器一般测试(8秒)
{
// printf_string(“\ n \ r \ n \ r”);
// printf_string(“*********************** \ n \ r”);
// printf_string(“* timer0常规测试* \ n \ r”);
// printf_string(“*********************** \ n \ r”);
//停止计时器输入设置
timer0_stop();
timeout_expiration = times_seconds;
//为SWTIM\u IRQn irq注册回调函数
timer0_register_callback(timer0_general_user_callback_function);
//启用Timer0时钟
set_tmr_enable(clk_per_reg_tmr_enabled);
//将TIMER0、TIMER2时钟分频因子设置为8,因此TIM0 Fclk为F=16MHz/8=2Mhz
设置tmr div(CLK\ U PER\ U REG\ U tmr\ U div\ U 8);
//清除PWM设置寄存器未生成PWM
定时器0\u设置\u脉宽调制\u高\u计数器(无\u脉宽调制);
timer0_set_pwm_low_counter(no_pwm);
//用2MHz源时钟除以10设置定时器,所以Fclk=2MHz/10=200kHz
定时器0\u init(TIM0\u CLK\u FAST,PWM\u MODE\u ONE,TIM0\u CLK\u DIV\u BY \u 10);
//100ms的重新加载值(T=1/200kHz*重新加载\u 100ms=0000005*20000=100ms)
定时器0\u设置\u pwm\u在\u计数器上(重新加载\u 100MS);
//启用SWTIM_IRQN IRQ
timer0_enable_irq();
// printf_string(“\ n \ rled每秒改变状态。\ n \ r”);
// printf_string(“\ n \ n \ n将运行:”);
//printf\ u byte(超时\过期);
//printf_字符串(“秒。\n\r”);
//启动Timer0.
定时器0_start();
// printf_string(“\ n \ n \ n \ n \ n \ rtimer0开始!”);
//等待所需的秒数
而(timeout_expiration);
//禁用Timer0,Timer2时钟
设置tmr启用(CLK\ U PER\ U REG\ U tmr\ U DISABLED);
// printf_string(“\ n \ n \ttimer0停止!\ n \ r”);
//printf_字符串(“\n\rEnd of test\n\r”);
}
*************************************************************************************************
我已经包含Timer0中断以延迟,这 - 虽然(timout_expiration);- 函数中的线路void timer0_general_test(uint8_t time_seconds)使代码无限循环,可能是问题,单独计时器0代码工作正常,在DSP内没有工作
你可以把这张票标记为关闭,我得到了答案,谢谢你的帮助。。。
嗨prasanth.velliyangiri,
我读了上面的对话,我也在做一些非常类似的事情。但我刚刚开始工作。你能帮我完成项目的第一部分吗,即从传感器读取数据。如果你能给我指出我应该查看的配置文件以及我需要处理的确切功能,那就太好了。
谢谢。
嗨宝拉巴斯纳尔
我正在使用Tha An-B-029_V1.0进行自定义配置文件来读取数据并通过蓝牙发送,这次RAR EXTENTER有教程PDF。这对你有所帮助
http://support.dialog-semicondiondiondum/resource/b-029-tutorial-files-su ...
嗨prasanth.velliyangiri,
感谢您的答复。我在Sample128上工作,并通过Doc An-B-029开发蓝牙智能自定义Profile_v1.0,如您所建议的那样。这导致了移动应用程序Blueloupe和我的DVK板之间的有效沟通。但我仍然无法弄清楚如何将我的电路板集成到任何传感器以及通过DSPS应用程序。如果您可以将我指出更多文档或指南,我将非常感激。
嗨宝拉巴斯纳尔
我不明白你的问题 - 如何将我的电路板集成到任何传感器以及通过DSPS应用程序??,
如果您在BLE客户端 - BLE服务器中工作,请参阅此链接
http://support.dialog.com/iot-server-dsps-hostdata-transmit。。。
嗨prasanth.velliyangiri,
我的应用程序是让温度传感器数据在DSP应用程序中实时可见。那么你认为什么是最合适的文档呢?
嗨宝拉巴斯纳尔
UM-B-038 DA14580串行端口服务参考Application_v2.0 - 用DSP提供帮助