匿名四轴上位机使用简介

匿名四轴上位机可以通过串口上传数据,画出波形图,这个功能在调试pid的时候还是很有用的,主要就讲如何使用这个功能

有个视频说的很详细 http://v.youku.com/v_show/id_XNTkzNDkxNTU2.html

1、设置好串口,如下

在基本功能里可以发送接收,当成普通的串口调试助手来使用,设置完了点击下面的打开串口即可

 

2、设置帧格式

在左边高级收码中,右上角有帧格式的设置,如下

1-10的选择根据代码里fun的值来,对应0xA1-0xAA,这里我使用的是oxA2 故选择2

后面为代码对应帧里上传的数据格式的选择,我上传的是三个float型,所以只需要把前三个都选择为float就行了

最后打开上图的 开关,显示  保存设置帧格式设置完毕

3、画波形所需的数据设置,如下

最上面的1-20序号对应后面会提到的波形序号,也就是说最多能指定显示20个波形

下面设置的每个序号对应波形的数据来源,从某个帧的某个位获得。

数据帧即之前设置过的,由于我上传使用的是0xA2 所以选择2,数据位即之前设置的三个float型的选择,可以看到最多有30个数据位,与之前类型选择的个数一样

我选择数据位1(之前三个float 我串口上传的分别是pitch roll  yaw角度),这样我们就把待会的波形1的数据来源设置为帧2的第一位,也就是pitch角了

同理  把 roll yaw 即帧2的位2和3 设置为波形序号2,3  设置结束 打开旁边的数据校验 数据显示  功能帧显示,再打开下面的

 

就可以看到上传的原始数据(左边)和相应的处理后的数据(右边)

此时调到波形显示界面,打开波形显示 勾选刚才设置过的序号123 可以看到pitch roll yaw角的曲线

 

 最后讲讲单片机上传数据的代码部分,上传的数据需要按照上位机规定的格式来上传,在上位机打开时  按F12可以看到使用说明,里面有讲格式的规定,以下为上传三个角度的代码,串口初始化等略过

 

void usart1_send_char(u8 c)
{
	while((USART1->SR&0X40)==0);//等待上一次发送完毕   
	USART1->DR=c;   	
} 

//fun:功能字. 0XA0~0XAF
//data:数据缓存区,最多28字节!!
//len:data区有效数据个数
void usart1_niming_report(u8 fun,u8*data,u8 len)
{
	u8 send_buf[32];
	u8 i;
	if(len>28)return;	//最多28字节数据 
	send_buf[len+3]=0;	//校验数置零
	send_buf[0]=0X88;	//帧头
	send_buf[1]=fun;	//功能字
	send_buf[2]=len;	//数据长度
	for(i=0;i

 稍微提一下最后一个函数,就是把float拆成四个字节发送(由于串口只能一个字节一个字节的发送),用指针获得float型变量的首地址,然后强制转换为unsigned char型,地址逐渐加大把float的四个字节分别发出即可。

 

转载于:https://www.cnblogs.com/otaganyuki/p/7290395.html

你可能感兴趣的:(匿名四轴上位机使用简介)