数据显示缓慢......大约0.2-0.5秒然后新数据显示......每次这个时间差异 [英] Data shows slowly...It tooks around 0.2-0.5s then new data shows..so each time this time difference

查看:97
本文介绍了数据显示缓慢......大约0.2-0.5秒然后新数据显示......每次这个时间差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

void circular_buf(uint8_t data)
{
	uint8_t c;
put_in_buffer (data);
if ( available_buffer())
{
   c[count++]= get_from_buffer();
   //cout<<c;

   if(count==123)
   {
      
   if  (parse_serial_data(&c,39,&packet)==0)
      {
       count=0;  
       if (packet.Address == UM6_ACCEL_PROC_Z )
         {
            // ACC_RAW_Z
            MY_DATA_ACCEL_PROC_Z = (int16_t)packet.data[4]<<8; //bitshift it
            MY_DATA_ACCEL_PROC_Z |= packet.data[5];
            Data.Accel_Proc_Z = MY_DATA_ACCEL_PROC_Z*0.000183105;

            cout<<MY_DATA_ACCEL_PROC_Z<<endl;
            cout<< Data.Accel_Proc_Z;
         }   // end if(MY_DATA_GYRO_PROC)
      }
   }
}



删除不必要的代码块,减少列表[/ edit]


[edit]unnecessary code block removed, tabulation reduced[/edit]

推荐答案

这是UM6吗?



http://www.pololu.com/file/0J442/UM6_datasheet.pdf [ ^ ]



如果有,请更新您的问题。



数据表中的示例代码显示了解析函数为无效数据包返回非零值(例如,小于7个字节)。该函数对好数据包返回零。请调整你的代码。



Would that be this UM6?

http://www.pololu.com/file/0J442/UM6_datasheet.pdf[^]

Please update your question if so.

The sample code in the data sheet shows the parse function returning a non-zero value for invalid packets (eg. less than 7 bytes). The function returns zero for "good" packets. Please adjust your code.

if(parse_serial_data(&c,11,&packet) == 0)


我现在已成功读取传感器。谢谢bling先生和'代码项目'。一点点问题与校验和,但它的确定。如果任何人需要有关UM6的任何帮助,请联系。
I have successfully read from sensor now. Thanks Mr. bling and 'Code project'. Little bit problm with checksum but its ok. If any one need any help regarding UM6 then please contact.


这篇关于数据显示缓慢......大约0.2-0.5秒然后新数据显示......每次这个时间差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆