基于DSP的GPGGA定位数据提取的代码
2012-06-28 01:07
197 查看
基于DSP的GPGGA定位数据提取的代码已经通过了测试。
由于分了好多模块,但在网上下载就有其他的模块,在此我贴出来已经改好的GPGGA的main函数代码,
其他的代码不变,可以在网上下载,百度里搜 基于DSP的GPGGA定位数据提取 就能找到,main函数换以下代码就能得到你想要的功能。
该代码的功能能使液晶移动并且翻页。
main函数代码:
#include <stdio.h>
#include "mmdrv.h" //CPU Memory-Mapped Registers
#include "mcbsp.h" //串口模块de头文件
#include "cpu_reg.h"
#include "lcd_86.h" //液晶显示模块de头文件
#define uint16 unsigned int
#define uint8 unsigned char
ioport unsigned portefff;
#define IO_374 portefff
#define shuzunum 600 //定义数据缓冲区
void init_exint1_interrupt();
void init_GPIO(void);
void uart_rece_gpgga_0(void); //提取haiba,tm,weidu,jingdu;
void uart_rece_gpgga_1(void);
void uart_trans(void);
void uart_trans_byte(unsigned int data);
unsigned int flag=0xffff;
volatile unsigned int displayflag=0;
char tx_re_buf[1]={0x38};
void display()
{
LCD_clear(0);
cur_row=0;
cur_col=50;
LCD_pr_chars("GPGGA",5);
cur_row=1;
cur_col=0;
LCD_pr_chars("=====================",21);
cur_row=3;
cur_col=0;
LCD_pr_chars("K1:H,Tm,WD,JD",13);
cur_row=5;
cur_col=0;
LCD_pr_chars("K2:State,Num,HODP",17);
cur_row=7;
cur_col=0;
LCD_pr_chars("=====================",21);
}
uint16 keyscan()
{
unsigned int key_val;
unsigned int i,j;
i=Get_Key();
waitloop( 0x040000L );
j=Get_Key();
if(i==j)
{
key_val=j; /*保存 key_val*/
while(Get_Key())
{
asm("\tnop"); //wait blank_key
}
}
return key_val;
}
void main(void)
{
SWWSR = 0x7fff;
SWCR = 0x0001;
BSCR = 0x8006;
CLKMD = PLL_DIV_INIT;
waitloop( 0x0400 );
CLKMD = PLL_LOCK_INIT_X(14);
waitloop( 0x0400 );
PMST = 0x0168;
IO_374=0xffff; //374 enable
init_exint1_interrupt();
init_GPIO();
init_lcd();
display(); //显示菜单
Close_LED_sign();
Close_LED_Data();
Close_LED_Traf();
waitloop( 0x0400 );
while(1)
{
flag=0xffff; /*防抖动*/
switch(keyscan())
{
default:
break;
case 1:
displayflag=1;
LCD_clear(0); //清屏
break;
case 2:
displayflag=2;
LCD_clear(0);
break;
case 17:
displayflag=3;
display();
break;
}
switch(displayflag)
{
default:
break;
case 1:
uart_rece_gpgga_0();//第一页显示海拔高度,时间,纬度,经度
break;
case 2:
uart_rece_gpgga_1(); //第二页显示水平精度因子,卫星个数
break;
case 3:
display(); //返回到主菜单
break;
}
//LCD_clear(0);
}
}
void init_exint1_interrupt() //中断
{
IFR =0xffff;
IMR =0x0002; //TINT=IMR.3 EXINT1=IMR.1
asm("\trsbx\tintm ");
}
interrupt void EXINT1_isr()
{
Close_LED_sign();
Close_LED_Data();
Close_LED_Traf();
// while(!(GPIOSR&0x01))
{
asm("\tnop"); //中断处理函数
asm("\tnop");
}
flag=0;
cur_row=7;
cur_col=15;
LCD_pr_chars(" Uart_Stop ",17);
}
void init_GPIO(void)
{
GPIOCR =0xfffe; //EXINT1=GPIO.0=input=0,nand_cs=GPIO.6=output=1
GPIOSR =0x0040; //GPIO.6=output=1
}
void uart_rece_gpgga_0(void) //提取haiba,tm,weidu,jingdu
{
unsigned int ii;
unsigned int jj;
unsigned char data[shuzunum];//缓冲区中存储600个数据
unsigned int tm[7],weidu[10],jingdu[11],hb[8],E[2],N[2];
unsigned int locate=0;
unsigned int ji_dou=0;//逗号计数变量
unsigned int data_num=0;//数组计数变量
char chartable[10]={'0','1','2','3','4','5','6','7','8','9'};
Uart_Init();
for(ii=0;ii<shuzunum;ii++)//清空数据缓冲区
{
data[ii] =0;
}
while(1)
{
do
{
jj = Uart_rx();
if(!flag)
{
asm("\tnop");
break;
}
}while(jj==0xFFFF);
//Uart_tx(jj); //发送接收到的数据
if(locate<shuzunum)//每当接收到一个数据时立马把他存下来
{
data[locate] =jj; //数组是从data[0]开始存储
locate++;//接收完一个数据立马将数组位置进一位
}
else
{
ii=0;
//while(ii<shuzunum) //总的数据长度不超过600
while(1)
{
if(data[ii]==36)//$
{
if((ii+1)<shuzunum&&data[ii+1]==71)//G
if((ii+2)<shuzunum&&data[ii+2]==80)//P
if((ii+3)<shuzunum&&data[ii+3]==71) //G
if((ii+4)<shuzunum&&data[ii+4]==71)//G
if((ii+5)<shuzunum&&data[ii+5]==65)//A
break;//也就是满足上面六个符号则退出这个whlile大循环
}
ii++;
}
//退出后接着就是将一串的数据解析出我们要的
ii+=6;
for(;ii<shuzunum;ii++)
{
if(data[ii]==36)
break; //$
if(ji_dou==1)//如果逗号个数为1则为时间
{
tm[data_num]=data[ii];
data_num++;
}
else if(ji_dou==2)//如果逗号个数为2则为北纬度数
{
weidu[data_num]=data[ii];
data_num++;
}
else if(ji_dou==3)
{
N[data_num]=data[ii];
data_num++;
}
else if(ji_dou==4)
{
jingdu[data_num]=data[ii];
data_num++;
}
else if(ji_dou==5)
{
E[data_num]=data[ii];
data_num++;
}
else if(ji_dou==9)
{
hb[data_num]=data[ii];
data_num++;
}
if(data[ii]==44)//判断是否为逗号
{
ji_dou++;//遇到逗号则逗号计数的加1
data_num=0;//也就是在遇到逗号来之前我们要把数据存下来st++
}
}
//数据截取下来后就要进行相应的显示了
//LCD_clear(0);//先清上次的显示
cur_col=50;
cur_row=0;
LCD_pr_chars("GPGGA",5);
cur_col=0;
cur_row=1;
LCD_pr_chars("***********************",23);
cur_col = 1;
cur_row = 2;
LCD_pr_chars("haiba:",6);
for(ii=0;ii<4;ii++)
{
if(hb[ii]==46)
LCD_nextchar('.');
else
LCD_nextchar(chartable[hb[ii]-48]);
}
cur_col = 1;
cur_row =3;
LCD_pr_chars("Time:",5);
LCD_nextchar(chartable[tm[0]-48]);
LCD_nextchar(chartable[tm[1]-48]);
LCD_nextchar(':');
LCD_nextchar(chartable[tm[2]-48]);
LCD_nextchar(chartable[tm[3]-48]);
LCD_nextchar(':');
LCD_nextchar(chartable[tm[4]-48]);
LCD_nextchar(chartable[tm[5]-48]);
cur_col = 1;
cur_row = 4;
LCD_pr_chars("Latitude:",9);
for(ii=0;ii<9;ii++)
{
if(weidu[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[weidu[ii]-48]);
}
if(N[0]==78)LCD_nextchar('N');
else LCD_nextchar('S');
cur_col = 1;
cur_row = 5;
LCD_pr_chars("Longitude:",10);
for(ii=0;ii<9;ii++)
{
if(jingdu[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[jingdu[ii]-48]);
}
if(E[0]==69)LCD_nextchar('E');
else LCD_nextchar('W');
cur_row=6;
cur_col=0;
LCD_pr_chars("Press <Esc> to Exit",19);
cur_col=0;
cur_row=7;
LCD_pr_chars("***********************",23);
break;
}
}
return;
}
void uart_rece_gpgga_1(void) //串口提取
{
unsigned int ii;
unsigned int jj;
unsigned char data[shuzunum];//缓冲区中存储600个数据
unsigned int state_gps[2],satellite_num[2],HDOP[4];
unsigned int locate=0;
unsigned int ji_dou=0;//逗号计数变量
unsigned int data_num=0;//数组计数变量
char chartable[10]={'0','1','2','3','4','5','6','7','8','9'};
Uart_Init();
for(ii=0;ii<shuzunum;ii++)//清空数据缓冲区
{
data[ii] =0;
}
while(1)
{
do
{
jj = Uart_rx();
if(!flag)
{
asm("\tnop");
break;
}
}while(jj==0xFFFF);
//Uart_tx(jj); //发送接收到的数据
if(locate<shuzunum)//每当接收到一个数据时立马把他存下来
{
data[locate] =jj; //数组是从data[0]开始存储
locate++;//接收完一个数据立马将数组位置进一位
}
else
{
ii=0;
//while(ii<shuzunum) //总的数据长度不超过600
while(1)
{
if(data[ii]==36)//$
{
if((ii+1)<shuzunum&&data[ii+1]==71)//G
if((ii+2)<shuzunum&&data[ii+2]==80)//P
if((ii+3)<shuzunum&&data[ii+3]==71) //G
if((ii+4)<shuzunum&&data[ii+4]==71)//G
if((ii+5)<shuzunum&&data[ii+5]==65)//A
break;//也就是满足上面六个符号则退出这个whlile大循环
}
ii++;
}
//退出后接着就是将一串的数据解析出我们要的
ii+=6;
for(;ii<shuzunum;ii++)
{
if(data[ii]==36)
break; //$
if(ji_dou==6)//如果逗号个数为1则为时间
{
state_gps[data_num]=data[ii];
data_num++;
}
else if(ji_dou==7)//如果逗号个数为2则为北纬度数
{
satellite_num[data_num]=data[ii];
data_num++;
}
else if(ji_dou==8)
{
HDOP[data_num]=data[ii];
data_num++;
}
if(data[ii]==44)//判断是否为逗号
{
ji_dou++;//遇到逗号则逗号计数的加1
data_num=0;//也就是在遇到逗号来之前我们要把数据存下来st++
}
}
//数据截取下来后就要进行相应的显示了
//LCD_clear(0);//先清上次的显示
cur_col=50;
cur_row=0;
LCD_pr_chars("GPGGA",5);
cur_col=0;
cur_row=1;
LCD_pr_chars("***********************",23);
//*********************************************************************
//GPS定位状态
cur_col = 1;
cur_row = 2;
LCD_pr_chars("state_gps:",10);
cur_col = 1;
cur_row = 3;
if (state_gps[0]=='0')
LCD_pr_chars("Unlocated",9);
else if(state_gps[0]=='1')
LCD_pr_chars("non-differential gps",20);
else if(state_gps[0]=='2')
LCD_pr_chars("differential gps",16);
else if(state_gps[0]=='6')
LCD_pr_chars("estimated",9);
else
{};
//***********************************************************************
//正在使用的卫星数量
cur_col = 1;
cur_row = 4;
LCD_pr_chars("satellite_num:",14);
if(satellite_num[1]!=0)
{
LCD_nextchar(chartable[satellite_num[0]-48]);
LCD_nextchar(chartable[satellite_num[1]-48]);
}
else
LCD_nextchar(chartable[satellite_num[0]-48]);
//***********************************************************************
//HDOP水平精度因子
cur_col = 1;
cur_row = 5;
LCD_pr_chars("HDOP:",5);
for(ii=0;ii<4;ii++)
{
if(HDOP[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[HDOP[ii]-48]);
}
cur_row=6;
cur_col=0;
LCD_pr_chars("Press <Esc> to Exit",19);
cur_col=0;
cur_row=7;
LCD_pr_chars("***********************",23);
break;
}
}
return;
}
由于分了好多模块,但在网上下载就有其他的模块,在此我贴出来已经改好的GPGGA的main函数代码,
其他的代码不变,可以在网上下载,百度里搜 基于DSP的GPGGA定位数据提取 就能找到,main函数换以下代码就能得到你想要的功能。
该代码的功能能使液晶移动并且翻页。
main函数代码:
#include <stdio.h>
#include "mmdrv.h" //CPU Memory-Mapped Registers
#include "mcbsp.h" //串口模块de头文件
#include "cpu_reg.h"
#include "lcd_86.h" //液晶显示模块de头文件
#define uint16 unsigned int
#define uint8 unsigned char
ioport unsigned portefff;
#define IO_374 portefff
#define shuzunum 600 //定义数据缓冲区
void init_exint1_interrupt();
void init_GPIO(void);
void uart_rece_gpgga_0(void); //提取haiba,tm,weidu,jingdu;
void uart_rece_gpgga_1(void);
void uart_trans(void);
void uart_trans_byte(unsigned int data);
unsigned int flag=0xffff;
volatile unsigned int displayflag=0;
char tx_re_buf[1]={0x38};
void display()
{
LCD_clear(0);
cur_row=0;
cur_col=50;
LCD_pr_chars("GPGGA",5);
cur_row=1;
cur_col=0;
LCD_pr_chars("=====================",21);
cur_row=3;
cur_col=0;
LCD_pr_chars("K1:H,Tm,WD,JD",13);
cur_row=5;
cur_col=0;
LCD_pr_chars("K2:State,Num,HODP",17);
cur_row=7;
cur_col=0;
LCD_pr_chars("=====================",21);
}
uint16 keyscan()
{
unsigned int key_val;
unsigned int i,j;
i=Get_Key();
waitloop( 0x040000L );
j=Get_Key();
if(i==j)
{
key_val=j; /*保存 key_val*/
while(Get_Key())
{
asm("\tnop"); //wait blank_key
}
}
return key_val;
}
void main(void)
{
SWWSR = 0x7fff;
SWCR = 0x0001;
BSCR = 0x8006;
CLKMD = PLL_DIV_INIT;
waitloop( 0x0400 );
CLKMD = PLL_LOCK_INIT_X(14);
waitloop( 0x0400 );
PMST = 0x0168;
IO_374=0xffff; //374 enable
init_exint1_interrupt();
init_GPIO();
init_lcd();
display(); //显示菜单
Close_LED_sign();
Close_LED_Data();
Close_LED_Traf();
waitloop( 0x0400 );
while(1)
{
flag=0xffff; /*防抖动*/
switch(keyscan())
{
default:
break;
case 1:
displayflag=1;
LCD_clear(0); //清屏
break;
case 2:
displayflag=2;
LCD_clear(0);
break;
case 17:
displayflag=3;
display();
break;
}
switch(displayflag)
{
default:
break;
case 1:
uart_rece_gpgga_0();//第一页显示海拔高度,时间,纬度,经度
break;
case 2:
uart_rece_gpgga_1(); //第二页显示水平精度因子,卫星个数
break;
case 3:
display(); //返回到主菜单
break;
}
//LCD_clear(0);
}
}
void init_exint1_interrupt() //中断
{
IFR =0xffff;
IMR =0x0002; //TINT=IMR.3 EXINT1=IMR.1
asm("\trsbx\tintm ");
}
interrupt void EXINT1_isr()
{
Close_LED_sign();
Close_LED_Data();
Close_LED_Traf();
// while(!(GPIOSR&0x01))
{
asm("\tnop"); //中断处理函数
asm("\tnop");
}
flag=0;
cur_row=7;
cur_col=15;
LCD_pr_chars(" Uart_Stop ",17);
}
void init_GPIO(void)
{
GPIOCR =0xfffe; //EXINT1=GPIO.0=input=0,nand_cs=GPIO.6=output=1
GPIOSR =0x0040; //GPIO.6=output=1
}
void uart_rece_gpgga_0(void) //提取haiba,tm,weidu,jingdu
{
unsigned int ii;
unsigned int jj;
unsigned char data[shuzunum];//缓冲区中存储600个数据
unsigned int tm[7],weidu[10],jingdu[11],hb[8],E[2],N[2];
unsigned int locate=0;
unsigned int ji_dou=0;//逗号计数变量
unsigned int data_num=0;//数组计数变量
char chartable[10]={'0','1','2','3','4','5','6','7','8','9'};
Uart_Init();
for(ii=0;ii<shuzunum;ii++)//清空数据缓冲区
{
data[ii] =0;
}
while(1)
{
do
{
jj = Uart_rx();
if(!flag)
{
asm("\tnop");
break;
}
}while(jj==0xFFFF);
//Uart_tx(jj); //发送接收到的数据
if(locate<shuzunum)//每当接收到一个数据时立马把他存下来
{
data[locate] =jj; //数组是从data[0]开始存储
locate++;//接收完一个数据立马将数组位置进一位
}
else
{
ii=0;
//while(ii<shuzunum) //总的数据长度不超过600
while(1)
{
if(data[ii]==36)//$
{
if((ii+1)<shuzunum&&data[ii+1]==71)//G
if((ii+2)<shuzunum&&data[ii+2]==80)//P
if((ii+3)<shuzunum&&data[ii+3]==71) //G
if((ii+4)<shuzunum&&data[ii+4]==71)//G
if((ii+5)<shuzunum&&data[ii+5]==65)//A
break;//也就是满足上面六个符号则退出这个whlile大循环
}
ii++;
}
//退出后接着就是将一串的数据解析出我们要的
ii+=6;
for(;ii<shuzunum;ii++)
{
if(data[ii]==36)
break; //$
if(ji_dou==1)//如果逗号个数为1则为时间
{
tm[data_num]=data[ii];
data_num++;
}
else if(ji_dou==2)//如果逗号个数为2则为北纬度数
{
weidu[data_num]=data[ii];
data_num++;
}
else if(ji_dou==3)
{
N[data_num]=data[ii];
data_num++;
}
else if(ji_dou==4)
{
jingdu[data_num]=data[ii];
data_num++;
}
else if(ji_dou==5)
{
E[data_num]=data[ii];
data_num++;
}
else if(ji_dou==9)
{
hb[data_num]=data[ii];
data_num++;
}
if(data[ii]==44)//判断是否为逗号
{
ji_dou++;//遇到逗号则逗号计数的加1
data_num=0;//也就是在遇到逗号来之前我们要把数据存下来st++
}
}
//数据截取下来后就要进行相应的显示了
//LCD_clear(0);//先清上次的显示
cur_col=50;
cur_row=0;
LCD_pr_chars("GPGGA",5);
cur_col=0;
cur_row=1;
LCD_pr_chars("***********************",23);
cur_col = 1;
cur_row = 2;
LCD_pr_chars("haiba:",6);
for(ii=0;ii<4;ii++)
{
if(hb[ii]==46)
LCD_nextchar('.');
else
LCD_nextchar(chartable[hb[ii]-48]);
}
cur_col = 1;
cur_row =3;
LCD_pr_chars("Time:",5);
LCD_nextchar(chartable[tm[0]-48]);
LCD_nextchar(chartable[tm[1]-48]);
LCD_nextchar(':');
LCD_nextchar(chartable[tm[2]-48]);
LCD_nextchar(chartable[tm[3]-48]);
LCD_nextchar(':');
LCD_nextchar(chartable[tm[4]-48]);
LCD_nextchar(chartable[tm[5]-48]);
cur_col = 1;
cur_row = 4;
LCD_pr_chars("Latitude:",9);
for(ii=0;ii<9;ii++)
{
if(weidu[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[weidu[ii]-48]);
}
if(N[0]==78)LCD_nextchar('N');
else LCD_nextchar('S');
cur_col = 1;
cur_row = 5;
LCD_pr_chars("Longitude:",10);
for(ii=0;ii<9;ii++)
{
if(jingdu[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[jingdu[ii]-48]);
}
if(E[0]==69)LCD_nextchar('E');
else LCD_nextchar('W');
cur_row=6;
cur_col=0;
LCD_pr_chars("Press <Esc> to Exit",19);
cur_col=0;
cur_row=7;
LCD_pr_chars("***********************",23);
break;
}
}
return;
}
void uart_rece_gpgga_1(void) //串口提取
{
unsigned int ii;
unsigned int jj;
unsigned char data[shuzunum];//缓冲区中存储600个数据
unsigned int state_gps[2],satellite_num[2],HDOP[4];
unsigned int locate=0;
unsigned int ji_dou=0;//逗号计数变量
unsigned int data_num=0;//数组计数变量
char chartable[10]={'0','1','2','3','4','5','6','7','8','9'};
Uart_Init();
for(ii=0;ii<shuzunum;ii++)//清空数据缓冲区
{
data[ii] =0;
}
while(1)
{
do
{
jj = Uart_rx();
if(!flag)
{
asm("\tnop");
break;
}
}while(jj==0xFFFF);
//Uart_tx(jj); //发送接收到的数据
if(locate<shuzunum)//每当接收到一个数据时立马把他存下来
{
data[locate] =jj; //数组是从data[0]开始存储
locate++;//接收完一个数据立马将数组位置进一位
}
else
{
ii=0;
//while(ii<shuzunum) //总的数据长度不超过600
while(1)
{
if(data[ii]==36)//$
{
if((ii+1)<shuzunum&&data[ii+1]==71)//G
if((ii+2)<shuzunum&&data[ii+2]==80)//P
if((ii+3)<shuzunum&&data[ii+3]==71) //G
if((ii+4)<shuzunum&&data[ii+4]==71)//G
if((ii+5)<shuzunum&&data[ii+5]==65)//A
break;//也就是满足上面六个符号则退出这个whlile大循环
}
ii++;
}
//退出后接着就是将一串的数据解析出我们要的
ii+=6;
for(;ii<shuzunum;ii++)
{
if(data[ii]==36)
break; //$
if(ji_dou==6)//如果逗号个数为1则为时间
{
state_gps[data_num]=data[ii];
data_num++;
}
else if(ji_dou==7)//如果逗号个数为2则为北纬度数
{
satellite_num[data_num]=data[ii];
data_num++;
}
else if(ji_dou==8)
{
HDOP[data_num]=data[ii];
data_num++;
}
if(data[ii]==44)//判断是否为逗号
{
ji_dou++;//遇到逗号则逗号计数的加1
data_num=0;//也就是在遇到逗号来之前我们要把数据存下来st++
}
}
//数据截取下来后就要进行相应的显示了
//LCD_clear(0);//先清上次的显示
cur_col=50;
cur_row=0;
LCD_pr_chars("GPGGA",5);
cur_col=0;
cur_row=1;
LCD_pr_chars("***********************",23);
//*********************************************************************
//GPS定位状态
cur_col = 1;
cur_row = 2;
LCD_pr_chars("state_gps:",10);
cur_col = 1;
cur_row = 3;
if (state_gps[0]=='0')
LCD_pr_chars("Unlocated",9);
else if(state_gps[0]=='1')
LCD_pr_chars("non-differential gps",20);
else if(state_gps[0]=='2')
LCD_pr_chars("differential gps",16);
else if(state_gps[0]=='6')
LCD_pr_chars("estimated",9);
else
{};
//***********************************************************************
//正在使用的卫星数量
cur_col = 1;
cur_row = 4;
LCD_pr_chars("satellite_num:",14);
if(satellite_num[1]!=0)
{
LCD_nextchar(chartable[satellite_num[0]-48]);
LCD_nextchar(chartable[satellite_num[1]-48]);
}
else
LCD_nextchar(chartable[satellite_num[0]-48]);
//***********************************************************************
//HDOP水平精度因子
cur_col = 1;
cur_row = 5;
LCD_pr_chars("HDOP:",5);
for(ii=0;ii<4;ii++)
{
if(HDOP[ii]==46)LCD_nextchar('.');
else LCD_nextchar(chartable[HDOP[ii]-48]);
}
cur_row=6;
cur_col=0;
LCD_pr_chars("Press <Esc> to Exit",19);
cur_col=0;
cur_row=7;
LCD_pr_chars("***********************",23);
break;
}
}
return;
}
相关文章推荐
- 基于基站定位数据的商圈分析代码详细解释
- 基于OpenCV的简易特征提取代码
- 代码添加控件-从数据库提取数据
- 基于日志的代码缺陷自动定位小工具
- 基于JAVA的黄金数据接口调用代码实例
- 【科研论文】基于DSP的激光跟踪仪数据通信及处理模块设计
- ROS机器人Diego 1#制作(二十二)基于EAI F4激光雷达数据进行定位amcl
- 【机器学习PAI实践十二】机器学习实现男女声音识别分类(含语音特征提取数据和代码)
- 140-基于双TI DSP TMS320C6670+XC7K480T的6UCPCI Express高速数据处理平台
- android 客户端数据传递之二:基于Http协议获取数据 代码
- 6个流行的直线提取算法——基于2D测距数据(摘自自主移动机器人导论)
- 树形结构后台数据代码拼装(基于上一篇)
- 基于AVR的串口与PC机通信代码(uart8位数据)
- VC++实现GPS全球定位系统定位数据的提取
- 【20090401-02】VC++实现GPS全球定位系统定位数据的提取
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
- 从数据到代码-基于T4的VS代码自动生成方式
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——实现篇:(五)用户接口层之提取媒体流数据
- 基于php的基金财务数据接口调用代码实例
- 机器学习PAI通过声音分辨男女(含语音特征提取相关数据和代码)