本帖最后由 manwjh 于 2016-1-19 20:03 编辑
QST用户层源代码。 没有整理,将就看看吧
#include "qst_system.h"
const char S_JSON_BARO_HEAD[]={"\"Baro\":["};
uint32_t t,json_pkg_t;
void setup(void)
{
ioMode(PB0,OUTPUT);
usbMode(0,0);
t = 0;
json_pkg_t=0;
}
void loop(void)
{
WEATHER_INFO_TYPE *w = (WEATHER_INFO_TYPE*)qstMessage(&BaroTskInfo);
if( compSystick(t) ){
if( ioRead(PB0)==LOW ){
ioWrite(PB0,HIGH);
t = msSystick()+10;
}else{
ioWrite(PB0,LOW);
t = msSystick()+990;
}
}
//
if( compSystick(json_pkg_t) ){
json_pkg_t = msSystick()+1000;
printf("]\r\n%s\r\n",S_JSON_BARO_HEAD);
}
if( w->update ){
printf("{\"t:\"%d,\"temp\":%d,\"press\":%d.%02d,\"alt\":%d}\r\n",w->t%10000,w->temp/100,w->press/100,w->press%100,w->altitude);
w->update = 0;
}
}
串口输出,因为我想总一个综合类传感器的项目,打算用类似JSON格式来封装各种传感器数据。
项目完成后,大致的效果是,串口不断输出板子上各种传感器的参数,每个传感器的采集数据都带10秒以内的精确到毫秒的时间戳,输出:
气压 (采集速度 5次/秒)
温度 (采集速度 5次/秒)
海拔 (采集速度 5次/秒)
陀螺仪x,y,z (采集速度 ?次/秒)
姿态(倾斜度,俯仰角)(采集速度 5次/秒)
指南角 (采集速度 10次/秒)
gps经纬度 (采集速度 1次/秒)
gps工作状态 (采集速度 1次/秒)
我在想如果usb虚拟串口要跑到什么速度才能满足这种密集的数据输出。
最后写一个pc软件,可以自定义json
|