匿名科创上位机之显示单片机数据波形
来源:互联网 发布:实木沙发 知乎 编辑:程序博客网 时间:2024/05/16 11:52
为了避免被认定为有推销之嫌,在此向诸位看客特别说明,选择匿明科创作为数据波形显示的软件,完全是出于个人喜好。因为当初在一个比赛中匿明科创在数据分析上帮了我不少忙。而且额,对于这么一款很实用的软件,迫不及待得想与大家一起分享。
废话不少说,在此只讲解匿名科创上位机——波形显示的原理。
首先,波形显示有什么用呢?假设你正在设计一款红外寻迹的智能车,那你肯定很想知道小车上的光电传感器采集到的数据变化吧!!注意是变化,单个数据说明不了什么,而一连串的数据,也即波形,就能使问题大大简化了,同时加上个蓝牙串口模块后,你就可以让小车在赛道上驰骋,而你,只需在电脑前盯着上位机中显示的数据波形想好下一步的算法书写了。
如果各位正是抱着这样目的来的话,那大可跳过前面的一大段废话。咱们直入主题:
从官方上就可以下载到匿名科创的安装包和通信协议,其中,协议中对于串口发送代码的书写很关键。根据“飞控-->上位机”(虽然软件为飞控而设计,但其波形显示部分却对于其他单片机等产品还是很有用的)的部分协议,在串口中发送的每一段数据(即一帧)的格式为:桢头--功能字--长度--数据(一个或多个,具体看协议说明)-校验
例如,当你要选择发送“SENSER“这一帧的数据后,发送的数据格式为“AAAA+02+18+int16 ACC_X,int16 ACC_Y,int16 ACC_Z,int16 GYRO_X,int16 GYRO_Y,int16 GYRO_Z,int16 MAG_X,int16 MAG_Y,int16 MAG_Z(即协议中说到的多个数据)+sum“。
其中SUM等于从该数据帧第一字节开始,也就是帧头开始,至该帧数据的最后一字节所有字节的和,只保留低八位,高位舍去。
协议中长度字节LEN表示该数据帧内包含数据的字节总长度,不包括帧头、功能字、长度字节和最后的校验位,只是数据的字节长度和。比如该帧数据内容为3个int16型数据,那么LEN等于6
以C51单片机为例,其相应代码(在官方代码上修改)如下:
void Uart_Put_Buf(unsigned char *Data_Send,unsigned char _cnt) /./C51中通过SBUF寄存器向上位机发送数据,每次发送一个字节
{
unsigned char i;
for(i=0;i<_cnt;i++){
ES=0;
SBUF=Data_Send;
while(!TI);
TI=0;
ES=1;
}
}
void Data_Send_Senser(unsigned int pst) //按照协议的要求处理数据,pst为包含多个数据的数组,但这里为一个数据
{
unsigned char _cnt=0;
unsigned char i=0;
unsigned int j=0,temp;
unsigned char sum = 0;
//char 类型为两个字节
data_to_send[_cnt++]=0xAA; //桢头
data_to_send[_cnt++]=0xAA;
data_to_send[_cnt++]=0x02; //功能字
data_to_send[_cnt++]=0;
data_to_send[_cnt++]=pst>>8; //数据的高8位
data_to_send[_cnt++]=pst&0x00ff; //数据的低8位
data_to_send[3] = _cnt-4; //长度
for(i=0;i<_cnt;i++)
sum =sum+ data_to_send[i]; //校验位
data_to_send[_cnt++] =sum;
Uart_Put_Buf(data_to_send,_cnt); /./C51中通过SBUF寄存器向上位机发送数据,每次发送一个字节
}
同理,也可以以其他桢的格式发送数据,根据协议中的说明书写代码即可,其中有用户自定义的一个数据帧,可以发送整型,浮点型数据等,具体协议在文末贴出。
(新手写博客,如有纰漏还望斧正!!也请多多谅解)
- 匿名科创上位机之显示单片机数据波形
- 51获取MPU6050数据并通过匿名上位机显示波形
- c#上位机多通道ADC采样波形显示
- 匿名四轴上位机波形绘制软件所需的下位机报文协议编写
- 上位机给单片机发送数据,单片机返回给上位机
- 开源QT写的串口调试上位机(带波形显示)
- VB控制单片机LED之最简单上位机
- Python编写单片机上位机
- 上位机数据整理
- 单片机与上位机通信元件
- 上位机控制12864显示
- 下位机单片机c语言发送数据到串口,上位机pc机java语言获取端口数据
- 下位机单片机c语言发送数据到串口,上位机pc机java语言获取端口数据
- 波形发生器单片机实现
- qt上位机,将下位机发送数据解码显示实时曲线
- 单片机之显示设备
- vb开发的工控中很常用的曲线,包括excel数据在上位机的显示
- 颜色传感器上位机调试软件(串口接收数据实时显示颜色!)
- HTML与CSS 任务二
- 嵌入式基础
- python数组符号重载
- Cannot resolve symbol 解决方案
- POJ 2509 Peter's smokes G++
- 匿名科创上位机之显示单片机数据波形
- 自己做的视音频播放器,绿色版,欢迎使用
- HDU 4730 We Love MOE Girls
- 插件集合
- C语言中基本类型char、short、int、long等类型的取值范围
- I2C驱动讲解
- Python 3.X安装Numpy和MatplotLib模块
- Android studio: gradle XXX project refresh failed解决方案
- Linux /C/C++文件流读写操作的详解