MSP430與ATK-NEO-6M GPS模塊

嵌入式ARM 2019-04-25 16:07

本文來源于“21ic TI微控制器&處理器論壇”,原貼見底部“閱讀原文”


近短時間在網上買了一個GPS模塊,正好正在學習MSP430單片機,于是決心將GPS模塊與MSP430結合起來,同時將代碼貼出來,發現網上搜到好多資料都要注冊才能下載,有些還要錢。自己動腦,才能自娛自樂。


一、測試篇


剛拿到ATK-NEO-6M這個型號的GPS模塊,有點不大相信,近100塊的東西居然只有3cm那么大一點。之前在網上下載了相關的資料,第一次快速測試肯定是借助電腦,正好msp430開發板上有max232模塊,直接將GPS模塊的TX接max232的TX,RX同樣。PC端安裝u-center,u-center 是由ublox 公司提供的GPS 評估軟件,功能十分強大,可以對我們的ATK-NEO-6M GPS 模塊進行全面的測試。安裝好后,點擊連接/斷開按鈕,選擇你的串口號,一般測試都是選擇自動配置按鈕,也就是那個魔法樣式的按鈕,單擊后會自己配置波特率,如果正常通訊的話,在最右下角的狀態欄會顯示黃色,當GPS模塊已經定位成功的話,會在界面上顯示當前的基本信息,如經度,緯度等。想查看接收到的原本信息,按F8鍵即可顯示。我測試后工作正常,在屋里基本能搜到9顆衛星信號。


二、開發篇


剛拿到GPS模塊,感覺要是開發起來會很麻煩,后來經過實驗,其實很簡單,因為賣家提供的資料已經足夠開發。句段的分析函數都已提供,我們只需將接口寫好即可。接下來先看看我的硬件環境。


硬件環境:MPS430開發板,FYD12864LCD顯示屏,USB轉串口線,ATK-NEO-6M GPS模塊


軟件環境:IAR集成開發環境,串口調試工具,Secure CRT

實現目標:MSP430通過串口2接收到GPS信息,顯示在LCD上,同時通過串口1發送接收到的數據到PC。


1. 先把msp430的句段分析部分調通。


思路:將廠商提過的GPS語句分析部分代碼移植過來,串口手動發送GPS數據,分析完后在LCD上顯示。

將廠商提供的GPS語句分析代碼貼出,(在此僅作為參考學習只用)


GPS.h


<font size="2">#ifndef __GPS_H#define __GPS_H
#include <math.h>#include <string.h>#include <stdarg.h>#include <stdio.h>
#include "../inc/uart.h"
//GPS NMEA-0183協議重要參數結構體定義 //衛星信息typedef struct { uchar num; //衛星編號 uchar eledeg; //衛星仰角 uint azideg; //衛星方位角 uchar sn; //信噪比 }nmea_slmsg; //UTC時間信息typedef struct { uint year; //年份 uchar month; //月份 uchar date; //日期 uchar hour; //小時 uchar min; //分鐘 uchar sec; //秒鐘}nmea_utc_time; //NMEA 0183 協議解析后數據存放結構體typedef struct { uchar svnum; //可見衛星數 nmea_slmsg slmsg[12]; //最多12顆衛星 nmea_utc_time utc; //UTC時間 int latitude; //緯度 分擴大100000倍,實際要除以100000 uchar nshemi; //北緯/南緯,N:北緯;S:南緯 int longitude; //經度 分擴大100000倍,實際要除以100000 uchar ewhemi; //東經/西經,E:東經;W:西經 uchar gpssta; //GPS狀態:0,未定位;1,非差分定位;2,差分定位;6,正在估算. uchar posslnum; //用于定位的衛星數,0~12. uchar possl[12]; //用于定位的衛星編號 uchar fixmode; //定位類型:1,沒有定位;2,2D定位;3,3D定位 uint pdop; //位置精度因子 0~500,對應實際值0~50.0 uint hdop; //水平精度因子 0~500,對應實際值0~50.0 uint vdop; //垂直精度因子 0~500,對應實際值0~50.0
int altitude; //海拔高度,放大了10倍,實際除以10.單位:0.1m uint speed; //地面速率,放大了1000倍,實際除以10.單位:0.001公里/小時 }nmea_msg; //////////////////////////////////////////////////////////////////////////////////////////////////// //UBLOX NEO-6M 時鐘脈沖配置結構體typedef struct { uint header; //cfg header,固定為0X62B5(小端模式) uint id; //CFG TP ID:0X0706 (小端模式) uint dlength; //數據長度 int interval; //時鐘脈沖間隔,單位為us int length; //脈沖寬度,單位為us signed char status; //時鐘脈沖配置:1,高電平有效;0,關閉;-1,低電平有效. uchar timeref; //參考時間:0,UTC時間;1,GPS時間;2,當地時間. uchar flags; //時間脈沖設置標志 uchar reserved; //保留 signed short antdelay; //天線延時 signed short rfdelay; //RF延時 signed int userdelay; //用戶延時 uchar cka; //校驗CK_A uchar ckb; //校驗CK_B }_ublox_cfg_tp; //UBLOX NEO-6M 刷新速率配置結構體typedef struct { uint header; //cfg header,固定為0X62B5(小端模式) uint id; //CFG RATE ID:0X0806 (小端模式) uint dlength; //數據長度 uint measrate; //測量時間間隔,單位為ms,最少不能小于200ms(5Hz) uint navrate; //導航速率(周期),固定為1 uint timeref; //參考時間:0=UTC Time;1=GPS Time; uchar cka; //校驗CK_A uchar ckb; //校驗CK_B }_ublox_cfg_rate; int NMEA_Str2num(uchar *buf,uchar*dx);void GPS_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPGSV_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPGGA_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPGSA_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPGSA_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPRMC_Analysis(nmea_msg *gpsx,uchar *buf);void NMEA_GPVTG_Analysis(nmea_msg *gpsx,uchar *buf);void Ublox_Cfg_Tp(int interval,int length,signed char status);void Ublox_Cfg_Rate(uint measrate,uchar reftime);
#endif  /* __GPS_H  */</font>


gps.c


#include "../inc/gps.h"
/*******************************************函數名稱:NMEA_Comma_Pos功 能:從buf里面得到第cx個逗號所在的位置參 數:返回值 :0~0XFE,代表逗號所在位置的偏移 0XFF,代表不存在第cx個逗號********************************************/uchar NMEA_Comma_Pos(uchar *buf,uchar cx){ uchar *p=buf; while(cx) { if(*buf=='*'||*buf<' '||*buf>'z')return 0XFF;//遇到'*'或者非法字符,則不存在第cx個逗號 if(*buf==',')cx--; buf++; } return buf-p; }
/*******************************************函數名稱:NMEA_Pow功 能:m^n函數參 數:返回值 :m^n次方.********************************************/int NMEA_Pow(uchar m,uchar n){ int result=1; while(n--)result*=m; return result;}
/*******************************************函數名稱:NMEA_Str2num功 能:str轉換為數字,以','或者'*'結束參 數:buf:數字存儲區;dx:小數點位數,返回給調用函數返回值 :轉換后的數值********************************************/int NMEA_Str2num(uchar *buf,uchar*dx){ uchar *p=buf; int ires=0,fres=0; uchar ilen=0,flen=0,i; uchar mask=0; int res; while(1) //得到整數和小數的長度 { if(*p=='-'){mask|=0X02;p++;} //是負數 if(*p==','||(*p=='*'))break; //遇到結束了 if(*p=='.'){mask|=0X01;p++;} //遇到小數點了 else if(*p>'9'||(*p<'0')) //有非法字符 { ilen=0; flen=0; break; } if(mask&0X01)flen++; else ilen++; p++; } if(mask&0X02)buf++; //去掉負號 for(i=0;i<ilen;i++) //得到整數部分數據 { ires+=NMEA_Pow(10,ilen-1-i)*(buf[i]-'0'); } if(flen>5)flen=5; //最多取5位小數 *dx=flen; //小數點位數 for(i=0;i<flen;i++) //得到小數部分數據 { fres+=NMEA_Pow(10,flen-1-i)*(buf[ilen+1+i]-'0'); } res=ires*NMEA_Pow(10,flen)+fres; if(mask&0X02)res=-res; return res;}
/*******************************************函數名稱:NMEA_GPGSV_Analysis功 能:分析GPGSV信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void NMEA_GPGSV_Analysis(nmea_msg *gpsx,uchar *buf){ uchar *p,*p1,dx; uchar len,i,j,slx=0; uchar posx; p=buf; p1=(uchar*)strstr((const char *)p,"$GPGSV"); len=p1[7]-'0'; //得到GPGSV的條數 posx=NMEA_Comma_Pos(p1,3); //得到可見衛星總數 if(posx!=0XFF)gpsx->svnum=NMEA_Str2num(p1+posx,&dx); for(i=0;i<len;i++) { p1=(uchar*)strstr((const char *)p,"$GPGSV"); for(j=0;j<4;j++) { posx=NMEA_Comma_Pos(p1,4+j*4); if(posx!=0XFF)gpsx->slmsg[slx].num=NMEA_Str2num(p1+posx,&dx); //得到衛星編號 else break; posx=NMEA_Comma_Pos(p1,5+j*4); if(posx!=0XFF)gpsx->slmsg[slx].eledeg=NMEA_Str2num(p1+posx,&dx);//得到衛星仰角 else break; posx=NMEA_Comma_Pos(p1,6+j*4); if(posx!=0XFF)gpsx->slmsg[slx].azideg=NMEA_Str2num(p1+posx,&dx);//得到衛星方位角 else break; posx=NMEA_Comma_Pos(p1,7+j*4); if(posx!=0XFF)gpsx->slmsg[slx].sn=NMEA_Str2num(p1+posx,&dx); //得到衛星信噪比 else break; slx++; } p=p1+1;//切換到下一個GPGSV信息 } }
/*******************************************函數名稱:NMEA_GPGGA_Analysis功 能:分析GPGGA信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void NMEA_GPGGA_Analysis(nmea_msg *gpsx,uchar *buf){ uchar *p1,dx; uchar posx; p1=(uchar*)strstr((const char *)buf,"$GPGGA"); posx=NMEA_Comma_Pos(p1,6); //得到GPS狀態 if(posx!=0XFF)gpsx->gpssta=NMEA_Str2num(p1+posx,&dx); posx=NMEA_Comma_Pos(p1,7); //得到用于定位的衛星數 if(posx!=0XFF)gpsx->posslnum=NMEA_Str2num(p1+posx,&dx); posx=NMEA_Comma_Pos(p1,9); //得到海拔高度 if(posx!=0XFF)gpsx->altitude=NMEA_Str2num(p1+posx,&dx); }
/*******************************************函數名稱:NMEA_GPGSA_Analysis功 能:分析GPGSA信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void NMEA_GPGSA_Analysis(nmea_msg *gpsx,uchar *buf){ uchar *p1,dx; uchar posx; uchar i; p1=(uchar*)strstr((const char *)buf,"$GPGSA"); posx=NMEA_Comma_Pos(p1,2); //得到定位類型 if(posx!=0XFF)gpsx->fixmode=NMEA_Str2num(p1+posx,&dx); for(i=0;i<12;i++) //得到定位衛星編號 { posx=NMEA_Comma_Pos(p1,3+i); if(posx!=0XFF)gpsx->possl[i]=NMEA_Str2num(p1+posx,&dx); else break; } posx=NMEA_Comma_Pos(p1,15); //得到PDOP位置精度因子 if(posx!=0XFF)gpsx->pdop=NMEA_Str2num(p1+posx,&dx); posx=NMEA_Comma_Pos(p1,16); //得到HDOP位置精度因子 if(posx!=0XFF)gpsx->hdop=NMEA_Str2num(p1+posx,&dx); posx=NMEA_Comma_Pos(p1,17); //得到VDOP位置精度因子 if(posx!=0XFF)gpsx->vdop=NMEA_Str2num(p1+posx,&dx); }
/*******************************************函數名稱:NMEA_GPRMC_Analysis功 能:分析GPRMC信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void NMEA_GPRMC_Analysis(nmea_msg *gpsx,uchar *buf){ uchar *p1,dx; uchar posx; int temp; float rs; p1=(uchar*)strstr((const char *)buf,"$GPRMC"); posx=NMEA_Comma_Pos(p1,1); //得到UTC時間 if(posx!=0XFF) { temp=NMEA_Str2num(p1+posx,&dx)/NMEA_Pow(10,dx); //得到UTC時間,去掉ms gpsx->utc.hour=temp/10000; gpsx->utc.min=(temp/100)%100; gpsx->utc.sec=temp%100; } posx=NMEA_Comma_Pos(p1,3); //得到緯度 if(posx!=0XFF) { temp=NMEA_Str2num(p1+posx,&dx); gpsx->latitude=temp/NMEA_Pow(10,dx+2); //得到° rs=temp%NMEA_Pow(10,dx+2); //得到' gpsx->latitude=gpsx->latitude*NMEA_Pow(10,5)+(rs*NMEA_Pow(10,5-dx))/60;//轉換為° } posx=NMEA_Comma_Pos(p1,4); //南緯還是北緯 if(posx!=0XFF)gpsx->nshemi=*(p1+posx); posx=NMEA_Comma_Pos(p1,5); //得到經度 if(posx!=0XFF) { temp=NMEA_Str2num(p1+posx,&dx); gpsx->longitude=temp/NMEA_Pow(10,dx+2); //得到° rs=temp%NMEA_Pow(10,dx+2); //得到' gpsx->longitude=gpsx->longitude*NMEA_Pow(10,5)+(rs*NMEA_Pow(10,5-dx))/60;//轉換為° } posx=NMEA_Comma_Pos(p1,6); //東經還是西經 if(posx!=0XFF)gpsx->ewhemi=*(p1+posx); posx=NMEA_Comma_Pos(p1,9); //得到UTC日期 if(posx!=0XFF) { temp=NMEA_Str2num(p1+posx,&dx); //得到UTC日期 gpsx->utc.date=temp/10000; gpsx->utc.month=(temp/100)%100; gpsx->utc.year=2000+temp%100; } }
/*******************************************函數名稱:NMEA_GPVTG_Analysis功 能:分析GPVTG信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void NMEA_GPVTG_Analysis(nmea_msg *gpsx,uchar *buf){ uchar *p1,dx; uchar posx; p1=(uchar*)strstr((const char *)buf,"$GPVTG"); posx=NMEA_Comma_Pos(p1,7); //得到地面速率 if(posx!=0XFF) { gpsx->speed=NMEA_Str2num(p1+posx,&dx); if(dx<3)gpsx->speed*=NMEA_Pow(10,3-dx); //確保擴大1000倍 }}
/*******************************************函數名稱:GPS_Analysis功 能:提取NMEA-0183信息參 數:gpsx:nmea信息結構體;buf:接收到的GPS數據緩沖區首地址返回值 :********************************************/void GPS_Analysis(nmea_msg *gpsx,uchar *buf){ NMEA_GPGSV_Analysis(gpsx,buf); //GPGSV解析 NMEA_GPGGA_Analysis(gpsx,buf); //GPGGA解析 NMEA_GPGSA_Analysis(gpsx,buf); //GPGSA解析 NMEA_GPRMC_Analysis(gpsx,buf); //GPRMC解析 NMEA_GPVTG_Analysis(gpsx,buf); //GPVTG解析}
/*******************************************函數名稱:Ublox_CheckSum功 能:GPS校驗和計算參 數:buf:數據緩存區首地址;len:數據長度;cka,ckb:兩個校驗結果.返回值 :********************************************/void Ublox_CheckSum(uchar *buf,uint len,uchar* cka,uchar*ckb){ uint i; *cka=0;*ckb=0; for(i=0;i<len;i++) { *cka=*cka+buf[i]; *ckb=*ckb+*cka; }}
/*******************************************函數名稱:Ublox_Cfg_Tp功 能:配置UBLOX NEO-6的時鐘脈沖輸出參 數:interval:脈沖間隔 length:脈沖寬度 status:脈沖配置:1,高電平有效;0,關閉;-1,低電平有效.返回值 :********************************************/void Ublox_Cfg_Tp(int interval,int length,signed char status){/* _ublox_cfg_tp *cfg_tp=(_ublox_cfg_tp *)USART2_TX_BUF; cfg_tp->header=0X62B5; //cfg header cfg_tp->id=0X0706; //cfg tp id cfg_tp->dlength=20; //數據區長度為20個字節. cfg_tp->interval=interval; //脈沖間隔,us cfg_tp->length=length; //脈沖寬度,us cfg_tp->status=status; //時鐘脈沖配置 cfg_tp->timeref=0; //參考UTC 時間 cfg_tp->flags=0; //flags為0 cfg_tp->reserved=0; //保留位為0 cfg_tp->antdelay=820; //天線延時為820ns cfg_tp->rfdelay=0; //RF延時為0ns cfg_tp->userdelay=0; //用戶延時為0ns Ublox_CheckSum((uchar*)(&cfg_tp->id),sizeof(_ublox_cfg_tp)-4,&cfg_tp->cka,&cfg_tp->ckb); while(DMA1_Channel7->CNDTR!=0); //等待通道7傳輸完成 UART_DMA_Enable(DMA1_Channel7,sizeof(_ublox_cfg_tp)); //通過dma發送出去 */}
/*******************************************函數名稱:Ublox_Cfg_Rate功 能:配置UBLOX NEO-6的更新速率 參 數:measrate:測量時間間隔,單位為ms,最少不能小于200ms(5Hz) reftime:參考時間,0=UTC Time;1=GPS Time(一般設置為1)返回值 :********************************************/void Ublox_Cfg_Rate(uint measrate,uchar reftime){/* _ublox_cfg_rate *cfg_rate=(_ublox_cfg_rate *)USART2_TX_BUF; if(measrate<200)return; //小于200ms,直接退出 cfg_rate->header=0X62B5; //cfg header cfg_rate->id=0X0806; //cfg rate id cfg_rate->dlength=6; //數據區長度為6個字節. cfg_rate->measrate=measrate;//脈沖間隔,us cfg_rate->navrate=1; //導航速率(周期),固定為1 cfg_rate->timeref=reftime; //參考時間為GPS時間 Ublox_CheckSum((uchar*)(&cfg_rate->id),sizeof(_ublox_cfg_rate)-4,&cfg_rate->cka,&cfg_rate->ckb); while(DMA1_Channel7->CNDTR!=0); //等待通道7傳輸完成 UART_DMA_Enable(DMA1_Channel7,sizeof(_ublox_cfg_rate));//通過dma發送出去 */}


以上為GPS相關代碼,下面為MSP430相關代碼

uart.h


#ifndef _UART_H_#define _UART_H_
#include <msp430f149.h>
void UartInit(void);void SendData(uchar dat);void SendByte(uchar *pData);void SendString(char *s);
#endif /* __UART_H */


uart.c


#include "../inc/uart.h"
void UartInit(void){ //串口1配置 P3DIR |= BIT4; //p3.4設為輸出 P3SEL |= BIT4 + BIT5; //P3.4,5設置為TXD/RXD ME1 |= UTXE0 + URXE0; //enable tx and rx UCTL0 = 0x00; //reset as 0 UCTL0 |= CHAR; //8 bit transfer UTCTL0 = 0x00; //reset as 0 UTCTL0 |= SSEL0; //select aclk(8M) UBR00 = 0x03; UBR10 = 0x00; //波特率為 9600(ACLK為8MHz) UMCTL0 = 0x4A; UCTL0 &= ~SWRST; // reset UART IE1 |= URXIE0; // enable rx inerrupt //串口2配置 P3DIR |= BIT6; //p3.6設為輸出 P3SEL |= BIT6 + BIT7; //P3.6,7設置為TXD/RXD ME2 |= URXE1 + UTXE1; //enable tx and rx UCTL1 = 0x00; //reset as 0 UCTL1 |= CHAR; //8 bit transfer UTCTL1 = 0x00; //reset as 0 UTCTL1 |= SSEL0; //select mclk UBR01 = 0x03; UBR11 = 0x00; //波特率為 9600(ACLK為8MHz) UMCTL1 = 0x4A; UCTL1 &= ~SWRST; // reset UART IE2 |= URXIE1; // enable rx inerrupt}
void SendData(unsigned char dat){ TXBUF0 = dat; while(!(IFG1 & UTXIFG0)); //IFG1 &= ~(UTXIFG0);}
void SendString(char *s){ while(*s){ SendData(*s++); }}
void SendByte(uchar *pData){ uchar i; for(i = 0; i < 8; i++){ SendData(pData[i]); }}


該串口操作為配置串口1和串口2波特率都為9600(之前看了GPS模塊的應用手冊,發現默認的波特率為38400



但我將430的波特率設為38400發現接收到的數據為亂碼,于是干脆直接將GPS的波特率設為9600,我直接將模塊上的R5電阻取了,終于接收到正常的數據.)


main.c


#include <msp430f149.h>#include "inc/lcd_fyd12864.h"#include "inc/uart.h"#include "inc/gps.h"
uchar Welcom1[] = "歡迎來到嵌入式";uchar Welcom2[] = "************";uchar Welcom3[] = "版主:*******";uchar Welcom4[] = "DIY 實驗室";
uchar latitude[] = "Lat: ";uchar longitude[] = "Long: ";uchar elevation[] = "Ele: ";uchar currTime[] = "Time: ";const uchar *mode[4] = {"Fail", "Fail", "2D", "3D"};
uchar RxBuf[300], TxBuf[300],RxData[9];uchar RxLen = 0;uchar RxTempLen = 0;uchar rev_flag = 0;char dtbuf[50];nmea_msg gpsx;uchar swt = 1;
void Show_GPS_Info1(nmea_msg gpsx){ float tp; //得到經度字符串 tp=gpsx.longitude; sprintf((char *)dtbuf,"Lon: %.5f %1c",tp/=100000,gpsx.ewhemi); DisplayString(0, 0, dtbuf); //得到緯度字符串 tp=gpsx.latitude; sprintf((char *)dtbuf,"Lat: %.5f %1c",tp/=100000,gpsx.nshemi); DisplayString(0, 1, dtbuf); //得到高度字符串 tp=gpsx.altitude; sprintf((char *)dtbuf,"Alt: %.1fm",tp/=10); DisplayString(0, 2, dtbuf); //得到速度字符串 tp=gpsx.speed; sprintf((char *)dtbuf,"Speed:%.3fkm/h",tp/=1000); DisplayString(0, 3, dtbuf);}
void Show_GPS_Info2(nmea_msg gpsx){ //定位狀態 if(gpsx.fixmode<=3){ sprintf((char *)dtbuf,"Fix Mode: %s",mode[gpsx.fixmode]); DisplayString(0, 0, dtbuf); } //用于定位的衛星數 sprintf((char *)dtbuf,"Val sat: %02d",gpsx.posslnum); DisplayString(0, 1, dtbuf); //可見衛星數 sprintf((char *)dtbuf,"Vis sat: %02d",gpsx.svnum%100); DisplayString(0, 2, dtbuf); }
void Show_GPS_Info3(nmea_msg gpsx){ //顯示UTC日期 sprintf((char *)dtbuf,"Date:%04d/%02d/%02d",gpsx.utc.year,gpsx.utc.month,gpsx.utc.date); DisplayString(0, 0, dtbuf); //顯示UTC時間 sprintf((char *)dtbuf,"Time:%02d:%02d:%02d",gpsx.utc.hour,gpsx.utc.min,gpsx.utc.sec); DisplayString(0, 1, dtbuf);}

void main(){ volatile uint i; WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
BCSCTL1 &= ~XT2OFF; // XT2= HF XTAL do { IFG1 &= ~OFIFG; // Clear OSCFault flag for (i = 0xFF; i > 0; i--); // Time for flag to set } while ((IFG1 & OFIFG)); // OSCFault flag still set? //MCLK=8M,SCLK=1M BCSCTL2 |= SELM_2 + SELS + DIVS_3; // MCLK= XT2 (safe) Delay_ms(500); UartInit(); Delay_ms(500); P3DIR &= (~BIT2 + ~BIT3); LCDReset(); DisplayString(1, 0, Welcom1); DisplayString(1, 1, Welcom2); DisplayString(1, 2, Welcom3); DisplayString(1, 3, Welcom4); Delay_ms(2000); LCDClear(); Delay_ms(1000);/* DisplayString(0, 0, latitude); DisplayString(0, 1, longitude); DisplayString(0, 2, elevation); DisplayString(0, 3, currTime);*/ SendString("Lixiaoming\n"); _EINT(); while(1){ //SendString("UART0 test!\n"); if(!(P3IN & BIT2)){ swt++; if(swt == 4) swt = 1; } if(rev_flag == 1){ int i,len = 0; len = RxLen; for(i = 0; i < len; i++) TxBuf[i] = RxBuf[i]; RxLen = 0; TxBuf[i] = 0; GPS_Analysis(&gpsx,TxBuf); switch(swt){ case 1: LCDClear(); Show_GPS_Info1(gpsx); break; case 2: LCDClear(); Show_GPS_Info2(gpsx); break; default: LCDClear(); Show_GPS_Info3(gpsx); break; } SendString(TxBuf); rev_flag = 0; } //Delay_ms(1000); }}
#pragma vector = UART0RX_VECTOR__interrupt void UART0RxISR(void){ //接收來自串口的數據 while(!(IFG1 & UTXIFG0)); RxBuf[RxTempLen++] = RXBUF0; while(RxBuf[RxTempLen-1] == '\n' && RxBuf[RxTempLen-2] == '\r' ){ RxLen = RxTempLen; RxTempLen = 0; rev_flag = 1; }}
#pragma vector = UART1RX_VECTOR__interrupt void UART1RxISR(void){ //接收來自串口的數據 while(!(IFG2 & UTXIFG1)); RxBuf[RxTempLen++] = RXBUF1; while(RxBuf[RxTempLen-1] == '\n'){ RxLen = RxTempLen; RxTempLen = 0; rev_flag = 1; }}


其中,有關LCD顯示部分在其他博文中會詳細說到.


將程序燒到430后,上電,打開串口調試工具,發送文本如下:


$GPGGA,023543.00,2308.28715,N,11322.09875,E,1,06,1.49,41.6,M,-5.3,M,,*7D


就會收到發回來的數據跟發送的一樣,同時LCD上顯示海拔為41.6m.

說明能對數據接受并進行正確處理了。


后面要做的便是將串口0的接收中斷代碼復制到串口1接收中斷代碼即可。

同樣上電,這時LCD可顯示信息,但顯示的數據都為0,說明GPS還沒有定位成功。等2~3分鐘左右,GPS模塊上的指示燈開始閃爍時,這時從LCD上可看到當前的經度、緯度、高度、UTC時間,同時用ScuetCRT連接,可看到430發回來接受到的原始數據。


下圖為實驗的結果,時間顯示稍微有點問題,因為沒有轉換還是其他。不過忙了幾天終于將GPS弄好了,下一步將編寫linux驅動。下面曬一下成果^-^.



PC串口接收到的數據如下:


$GPRMC,134856.00,A,2232.50576,N,11354.64802,E,0.084,,251113,,,A*7E$GPGSV,3,2,09,22,75,191,27,25,58,074,22,29,08,122,16,31,48,276,19*76gpsx->utc temp: 134857gpsx->latitude temp: 223250578gpsx->longitude temp: 1135464798gpsx->utc.date temp: 251113$GPRMC,134857.00,A,2232.50578,N,11354.64798,E,0.173,,251113,,,A*74$GPGSV,3,2,09,22,75,191,27,25,58,074,23,29,08,122,15,31,48,276,20*7Egpsx->utc temp: 134858gpsx->latitude temp: 223250575gpsx->longitude temp: 1135464785gpsx->utc.date temp: 251113$GPRMC,134858.00,A,2232.50575,N,11354.64785,E,0.140,,251113,,,A*7A$GPGSV,3,2,09,22,75,191,27,25,58,074,23,29,08,122,15,31,48,276,19*74gpsx->utc temp: 134859gpsx->latitude temp: 223250575gpsx->longitude temp: 1135464782gpsx->utc.date temp: 251113$GPRMC,134859.00,A,2232.50575,N,11354.64782,E,0.130,,251113,,,A*7B$GPGSV,3,2,09,22,75,191,27,25,58,074,23,29,08,122,15,31,48,276,20*7Egpsx->utc temp: 134900gpsx->latitude temp: 223250570gpsx->longitude temp: 1135464784gpsx->utc.date temp: 251113$GPRMC,134900.00,A,2232.50570,N,11354.64784,E,0.112,,251113,,,A*75
嵌入式ARM 關注這個時代最火的嵌入式ARM,你想知道的都在這里。
評論
  •                                                                        
    廣州鐵金剛 2026-08-06 17:44 219078瀏覽
  • 摘要東莞市恒創連接器有限公司(HCHGCONN)是位于廣東東莞的連接器源頭制造工廠,專注于連接器國產替代、小間距大電流連接器、線對板連接器、線對線連接器、板對板連接器、電源連接器及定制連接器開發。公司面向工業自動化、新能源儲能、BMS、汽車電子、AI服務器、GPU供電、通信設備、醫療設備和智能家居等場景,提供從產品選型、替代評估、樣品驗證到批量交付的一站式連接方案。恒創可支持 Molex、TE Connectivity、JST、Hirose、Samtec 等國際品牌部分系列的國產替代評估。常見替
    HC003 2026-08-07 10:14 204瀏覽
  • 做電池供電攝像頭、可視門鈴、戶外安防的同學應該都踩過這個坑:攝像頭要拍,ISP、sensor、無線模塊全得開著,整機電流動輒幾百 mA。一節 18650 撐不了幾天,用戶投訴“怎么又沒電了”。有人會說:加個 PIR 人體紅外不就行了?問題是 PIR 怕熱、怕寵物、怕隔著亞克力/玻璃殼,而且只能感知“有溫差的人體移動”,靈敏度飄忽。真正省電的思路應該是:讓攝像頭平時徹底睡死,只有“前面有人/有動靜”時才被一鍵喚醒——而負責這個“看門”角色的,最合適的是一顆低功耗雷達。一、為什么是雷達,而不是 PI
    唯創知音語音芯片 2026-08-07 14:44 231瀏覽
  • 文:杜杰編輯:侯煜當地時間7月28日,美國特朗普政府落地最新科技封鎖政策,美國聯邦通信委員會(FCC)正式更新《受管制清單》,新增兩大類設備——境外生產的先進機器人設備、境外生產的聯網電力逆變器。FCC在官方情況說明書中明確,該類境外制造產品,“會對美國國家安全或美國民眾的人身安全構成無法承受的風險”。本次新規設置明確豁免機制:經美國國防部(DoW)、電力逆變器品類經美國國土安全部(DHS)審核并授予“有條件批準”,認定對應設備品類不存在重大安全風險,即可獲得準入豁免。同時政策嚴格執行新老劃斷原
    華爾街科技眼 2026-08-03 21:28 370瀏覽
  • 產品使用18V供電,配套4串鋰離子電池,需要設計一個充電器。因為輸入18V,電池最高 16.8V,壓差僅 1.2V。因為壓差太小。使用開關型的充電控制芯片不穩定。嘗試自行設計一個。整體采用分立三極管 + TL431架構,分4個功能單元:使能控制回路、限流環路、TL431 精密恒壓反饋環路、PNP 功率管主功率輸出回路;實現完整鋰電池充電邏輯。使能控制回路按鍵按下:5V 電壓經 R12 (2kΩ) 送入 NPN 管 Q3 基極,Q3 飽和導通,對地拉低 R1、R2 組成的分壓控制節點電位;該節點直
    southcreek 2026-08-07 13:45 506瀏覽
  •        很多人只見過封裝在SMD外殼里的小尺寸晶振,卻不知道一顆2016、1612甚至1210封裝的微型石英晶振,從一塊巴掌大的石英原礦,到最終能穩定起振的成品,要經過十幾道精密工序。它內部的石英晶片厚度最薄不到20微米,比普通A4紙的1/5還薄,整個生產過程里哪怕0.1微米的誤差,都會直接廢掉整批產品,這也是小尺寸晶振過去長期依賴進口,國內廠商花了十幾年才啃下量產硬骨頭的核心原因。1. 原石定向切割:0.01度的角度誤差都不能有小尺寸晶振的第一步,
    TKD泰晶科技 2026-08-07 08:43 555瀏覽
  • 在前六期中,我們已經分別討論了 CRA 的適用范圍、整體影響、漏洞通報義務、風險評估與技術文檔證據鏈、第三方組件與 SBOM 供應鏈治理,以及產品上市后的支持期、安全更新、用戶說明和終止支持管理。到這里,企業已經能夠回答幾個核心問題:產品是否落入 CRA 適用范圍,產品由哪些組件構成,企業如何證明自己在設計、開發和上市前采取了必要的安全措施,以及產品上市后如何持續維護和安全下線。但對于真正準備落地 CRA 合規的企業來說,還有一個更現實的問題:CRA 的法規條文相對原則化,企業應當如何把“網絡安
    虹科云科技 2026-08-03 16:51 252816瀏覽
  • 一、方案簡介在Buildroot構建的嵌入式Linux系統中部署Flutter應用,主流有兩套成熟的開源方案,分別適配不同的顯示場景與開發需求:方案一:flutter-elinux(Sony開源方案)由索尼官方維護的嵌入式Linux Flutter工具鏈,既支持DRM/GBM直接渲染,也兼容Wayland、X11等多種顯示后端,場景適配性更廣。方案二:flutter-pi(輕量級嵌入器)一款輕量級Flutter引擎宿主程序,僅基于底層DRM/GBM接口實現渲染,無需依賴桌面環境,資源占用更低,更
    飛凌嵌入式 2026-08-07 09:34 212瀏覽
  • 樓宇自控里的“巴別塔”一棟智慧樓宇、一個產業園區里,暖通空調運行著廠商私有協議,照明系統遵循專屬通信標準,變配電、門禁安防各成體系——設備間數據壁壘森嚴,上位平臺對接全靠定制化 “翻譯” 開發,不僅成本高企,交付周期也難以管控。這就是樓宇自控行業多年的痛點:協議林立、封閉林立。而破局的鑰匙,早在30多年前就已經寫好了——BACnet。作為ASHRAE制定的樓宇自控國際標準協議,BACnet是如今全球樓宇自控系統(BAS)互聯互通的“通用語言”。新風機、冷源群控、變配電、照明、門禁,凡是需要被樓宇
    飛凌嵌入式 2026-08-10 09:26 256瀏覽
  • 做藍牙音箱的工程師大概都碰過這個局面。產品要連手機放歌,要本地播開機提示音和按鍵音,還要接 App 做配網和狀態上報。三件事拆開,早先的常規做法是音頻藍牙一顆料、數傳藍牙一顆料、本地播放再掛一顆小 MCU 加一片 Flash。板子越畫越大,BOM 越算越貴,待機電流和固件工作量也跟著漲。WT2605C 出來以后,這套需求可以集成到一顆芯片,就是 WT2605C-32N,該芯片采用QFN32 封裝,4×4 毫米,把音頻藍牙、BLE 數傳和 MP3 本地播放三樣全包了。對藍牙音箱來說,最實在的好處就
    唯創知音語音芯片 2026-08-06 15:14 391瀏覽
  • 導語在現代高速數字電路設計中,信號的完整性已不僅是理想波形推演,而是一場與物理非理想特性正面博弈的工程實踐。濾波器芯片作為凈化傳輸鏈路的關鍵屏障,其核心挑戰在于:能否有效識別并濾除那些隱匿在電平跳變過程中的亞納秒級瞬態脈沖干擾,這類干擾持續極短,卻足以在高速鏈路中引發誤觸發。然而,傳統函數發生器受限于采樣率與邊沿速率,根本無法忠實復現如此狹窄且陡峭的異常波形。針對此困境,德思特TS-AWG7000系列任意波形發生器以17 GS/s采樣率與50 ps原生邊沿速度,為瞬態脈沖提供精細刻畫,配合SPG
    德思特測試測量 2026-08-05 14:06 5瀏覽
  • 在物聯網從“萬物互聯”邁向“萬物智聯”的進程中,LTE Cat.1憑借其在速率、成本與網絡覆蓋之間的完美平衡,正成為中低速物聯網市場的絕對主力。隨著2G/3G網絡的逐步退網以及新國標對終端設備智能化、定位功能的強制要求,Cat.1模組迎來了爆發式的增長窗口。在這一關鍵節點,基于華為海思Hi2131芯片設計的LTE Cat.1模組,憑借其在能效、射頻、架構及物理規格上的底層創新,成功打破了“高性能必高功耗”的傳統魔咒,為行業提供了極具競爭力的連接最優解。核心技術優勢:重塑Cat.1能效與連接標桿海
    用戶1778981989717 2026-08-05 21:04 210瀏覽
  • 讓微弱脈沖信號更清晰——鎖相放大器集成Boxcar平均器在脈沖激光、泵浦-探測、時間分辨光譜、飛行時間質譜等實驗中,真正需要測量的信號往往只出現在一個很短的時間窗口內,卻被淹沒在遠大于它的噪聲和背景之中。 針對這類穩定重復的微弱脈沖與瞬態信號,賽恩科儀為OE2052雙通道數字鎖相放大器帶來全新的Boxcar Averager功能升級:在鎖相檢測之外,進一步提供從周期波形觀察、門控測量到多周期平均的完整數字Boxcar測量鏈路。 Boxcar平均器,如何從噪聲中“截取”目標信號?Boxcar平均器
    SSI_賽恩科儀 2026-08-07 15:49 21880瀏覽
  • ?摘要:低價大流量卡正全面退市,政策收緊已成定局。面對傳統號卡的不確定性,隨身WiFi憑借穩定連接、多設備共享、獨立設備和靈活套餐等優勢,成為務實可靠的備選方案。1、流量卡黃金時代要結束了通信行業正迎來一場前所未有的“地震式”調整——曾讓無數用戶追捧的低價大流量卡,正在全速退出各大平臺。這早已不是一次普通的競合,而是一場趨勢性的行業洗牌。回望過去,19元200G的神卡,那時真是“睡著都能笑醒”,便宜到不敢相信,爽到忍不住炫耀。那些日子,好像隨便刷、隨便看,流量自由觸手可及。可如今,回頭再看,那種
    愛上電路設計 2026-08-03 10:21 129022瀏覽
  • 做儲能項目,你是怎么選控制器的?隨著工商業儲能、電網側儲能的規模化落地,作為儲能EMS“大腦”的嵌入式控制器,直接決定了整套系統的運行穩定性、數據可靠性與項目落地效率。不少從業者都踩過類似的坑:接口數量不足要額外加裝擴展模塊、戶外高溫導致設備宕機、電磁干擾引發數據丟包、軟件生態薄弱拖慢開發周期……選對儲能控制器,核心要盯準四個關鍵維度。首先看接口能力:全鏈路覆蓋,才是降本的核心。一套完整的儲能系統,需要同時對接PCS、BMS、智能電表、溫濕度傳感器、除濕機、煙感消防主機,還要連接急停開關、斷路器
    飛凌嵌入式 2026-08-11 08:46 99瀏覽
我要評論
0
點擊右上角,分享到朋友圈 我知道啦
請使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 嫦娥六号在台湾火了| 歌曲披着羊皮的狼| 需要爸爸的种免费观看| 与父同行泰剧| 无名电视剧全集免费播放在线观看| 铁血使命第2部全集| 抗战40集免费观看| 墨西哥瓜达卢佩的玫瑰完整版| 为爱痴狂mv| 最近妹妹样子有点怪真人电影原声| 孽海花传奇| 娜扎回应礼服被吐槽| 少女按摩记| 女女电影免费观看完整版大结局| 上海龚家花园| 蓝色隐形帽子| 警察故事3电影| 日本伦理片女律师的堕落| 秋霞黄色片| 名侦探柯南免费观看全集完整版| over fly第一季在线观看| 出生入死电视连续剧| 牧神记在线播放| 多地限制教师非正常流动| 女销售的秘密免费完整版| 一误东风辞崔羽| 人间正道是沧桑全集下载| 想要的一天| 《正义之心》完整版在线观看| 大凶女前辈在线观看| 艳降勾魂电影| 嫌疑人x的献身 日本| 锰钾电影| 麦乐迪女超人A片免费看| 《甜蜜的惩罚》第二季完整版| 陈加玲惊艳的电影| 蛇姬恋泰剧未删减版本| 风过留痕 电视剧 在线观看| 初体验4| 朴海镇李泰兰| 破苞流血疼叫视频视频| 人民的名义 直播| 比悲伤更悲伤的故事国语版| 爱唯侦察电影免费观看| 《夫妻快乐宝典》完整| 性的暴行中文完整版| 天狱飞龙| 战狼六| 鬼吹灯湘西怒晴| 灵动鬼影实录2| 韩国毛片同学韩妈妈屮文字惹| 入青云高清免费观看| 《妻子的浪漫旅行2026》| 东北警察故事免费观看完整版| 红楼春梦免费观看高清| 郧西在线| 壮志凌云满天星女版在线| 电视剧《仁心俱乐部》完整版 | 哲仁王后电视剧| 命转情真| 迪迦奥特曼13| 上海地铁内男子耍刀| 伦理《法国空乘13》观看| 博物馆奇妙夜2在线观看| 《家庭矛盾4》麦乐迪观看视频| 如懿传高清| 《玫瑰》瓜达卢佩在线播放免费观看| 证据原唱| 终结者 黑暗命运| 妈妈2免费观看完整电视剧中文版 穿越时空的爱恋免费观看完整版 打雀英雄传 | 霜落又识君 电视剧| 激情都市在线观看| 台湾小可| 电影《我会好好的》免费播放| 免费韩国电影完整版在线观看| 光速跑者21号国语| 女儿国3在线观看电视剧| 唐人街探案2免费观看高清版| 女篮坎贝奇无憾 在线观看| 灌篮高手2022在线观看| 终极使命电视剧| 《美丽妻子替夫还债》剧免费观看韩| 电影小字辈完整版免费观看| 小少女性启蒙的电影有哪些| 海角七号电影下载| 姑娘我爱你舞蹈| m7全英雄战记优酷| 爱你所以离开你| 壮志凌云满天星版在线观看| 强奸女护士| 女儿国满天星版1988| 两个小婕子和我做愛| 鬼娃娃花子2| 《黑色的眼泪》麻生| 埃洛伊塞| 关于卖房女的三级片| 芈月传电视剧全集下载| 女子炸部队第一部| 成年秘密免费版电视剧在线观看| 金瓶少女| 韩剧女友的母亲双字ID| 加勒比海盗5 死无对证| 女大学生的特殊按摩电影 | 女房东的秘密在线观看| 向风而行电视剧免费观影| 与小仙女混居的日子| 不可磨灭的番号| 美丽村官| 黑白配国语版超清1080p高清| 高清悬崖绝壁未删减| 三位大学位按摩记在线观看| 浅情人不知电视剧完整版免费观看| 在姨妈家的客厅| 志愿军:浴血和平 电影| 假面骑士000全集| 修真带娃:奶爸人生全集免费| 银魂188| 私人女性监狱在线播放| 伞娘传奇电视剧全集剧情 | 僵尸先生国语| 他是谁免费观看| 托克托县| 《龙门镖局》| 《爸爸种子2》在线观看| 方子传 韩国完整版| 蓝色帽子隐形的韩国电影在线观看| 儿媳生活压抑| 寻秦记免费完整版全集在线观看| 不惑之旅电视剧免费视频| 金玫瑰洞| 江油市| 秋瓷炫生死决断电影在线| yellow视频高清免费| 田姐辣妹电视剧全集免费观看| 贝坎奇品味人生| 《隔壁女邻居3》BD高清| 陆贞传奇第50集| 电影心理罪| 韩版恶作剧之吻2| 法国高压2监监完整版| 宝贝计划电影免费观看完整版| 地狱乐动画在线观看| 《发财日记》免费观看| 祝英台与梁山伯的电视剧| 还珠格格天上人间| 修罗武神第二季免费观看全集| 妻子8免费完整高清电视剧在线| 我是真的讨厌异地恋| 巜商务旅行戴绿色帽的电影| 监狱风云2| 男女一起愁愁愁电影全集校园| 碟血弧岛| 为时已是寿司!?全集观看 | 霍比特人 百度影音| 鬼神童子国语| 出逃的公主| 黑暗精灵免费观看全集| 房奴试爱激情戏| 浙江一村庄突然涌现超多寻宝者| 最熟悉的陌生人免费观看完整版| 电视剧《装台》| 随缘太极张三丰| 拥抱每一刻| 历史永远铭记电视剧| 繁华落尽40集免费播放| 炽道电视剧免费观看| 宝贝把它掏出来憋不住了| 天使堕落| 我的漂亮姐姐韩剧完整版中文| 爱我几何原版无删减版观看| 睫毛膏4美版免费观看| 顶归来:娱乐圈我横着走短剧全集| 姗姗来了| 中国好声音第四季张磊| 情欲九歌无删在线观看| 美姐妹医生在线电影观看完整版高清 | 家属1-6集全集免费| 余味毛豆豆| 黑白配中文版在线观看| 冲上云霄1主题曲| 男按摩师视频在线观看| 眼泪女王| 徐若瑄魔鬼天使| 十七岁完整版| 古装三圾片| 哇嘎电影免费播放完整版| 魔鬼情人| 圣特罗佩斯的女孩| 澳门风云在线观看| 大胸的丰年经的继拇| 外出在线观看免费完整版高清电影| 萌萌侵略者| 电影好家伙| 昭和女子物语1-4集| 林丹装路人打球| 日韩电影《女律师的坠落》| 千年情人| 特殊的房产销售电影在线观看| 那山那人那狗电影| 英剧《情劫》电影版| 不惧风暴观看免费完整高清 | 爱情公寓3未删减版| 杨敏思版1-5集电视剧免费看| 罗丽星克莱尔迷宫HD版在线观看| 海豚爱上猫结局| 正在播放: ROE-417 在见证女儿幸福的同时……却在婚礼宴席上,被女婿侵犯的母 | 好姐妹高清在线韩国电影观看| 韩国银瓶梅| 末世超级系动漫免费观看完整版 | 漠风吟电视剧在线观看| 坎贝奇无憾完整版片段| 替嫁王爷:婚后被宠短剧全集| 睫毛膏4| 成事在人HD高清在线观看| 女超人在线观看| 科洛弗悖论| 荣誉法则(成人版)英文| 电视剧淬火年代| 公浮滔滔之手| 环翠峪门票| 《你是我兄弟》结局| 战狼6免费观看完整版国语| 康熙来了停播| 高清《当哒当:邪视》电影| 战狼9女版免费高清| 决战黎明全集| 中文字Dl幕岳在线观看| 卧底娇娃| 需要爸爸播种在美国| 履霜坚冰至| 女版战狼6免费观看在线播放完整版| 爱情诊所在线观看| 美丽蜜桃4| 女生北漂5年半攒钱超100万| 《女部长通宵的引诱》电影| 绿茶妹 电影| 落魄贵族琉璃川动漫全集免费观看| 贤妻良母免费观看完整版韩剧| XL司令真人版无马赛| 狮子王原版英文版免费观看| 3对1| 紫钗奇缘大结局| 呕吐娃娃屠宰场免费观看| 单身妈妈| 法国满天星《巴黎律师事务所》片名| 雾都魅影电视剧| lx司令动漫第一季免费观看| 魔发奇缘动漫| 《激战5》李丽珍| 金瓶梅金瓶| 黑白配在线播放免费观看| 《蛇王波后》完整版 | 需要爸爸的种免费观看| 求爱夜惊魂| 把可爱的男孩子c哭动漫| 爱了散了全集| 纵横四海粤语版电视剧免费观看| 再来一次吧| 李恩美热水器维修工电影名字 | 男女一起愁愁愁的电影有哪些| 绝密543部队免费观看| 狙击之王暗杀在线观看| 山村姑娘| 朋友的朋友5 ??| 求婚大作战| 潜伏者电视剧免费播放| 我的老师中韩双字| 来自喵喵星的你| 欢乐颂1免费观看全集电视剧完整版| 夜莺在线观看| 真实的人类第一季| 浮生若梦在线观看免费完整版| 金瓶梅电影在线观看| 薛平贵与王宝钏47| 流浪地球资源| 和漂亮的女医生做爰| 明白人组合| 最后一战电视剧| 荒野渔夫完整版| 儿子媳妇中字头| 《激战丛林》在线观看 | 孙颖莎说对手的五环项链好看| 满江红免费完整版在线观看| 无极2英雄崛起| 铁血少年| 女刑警被绑在刑房折磨调教| 奔跑吧第九季免费观看完整版| 轮到你了第9集| 天堂日落电影| 回复术士的重来人生漫画无删减| 今日宜喜欢短剧| 黑道风云电影免费观看完整版| 宝莲灯后传1到46集免费 | 高清九条的大罪未删减| aj电视剧免费观看全集完整版承磊| 风流变形记| 妈妈打电话6| 我推的孩子樱花在线观看| 17·3 电影高清在线观看| 少林寺传奇4| 成人在线视频网站导航| 一个好妈妈如如2| 插曲的痛30集全集免费观看第12集| 云海翻腾孙悟空11| 双女任务在线观看完整版高清电影免 | 我的妻子没有感情| 千指大人| 新白发魔女结局| 九重紫连续剧| 平泽里菜子| 小太妹免费| 三生三幸| 西班牙最亲密的兄妹电视剧| 流浪地球高清在线播放| 十一人的贼军免费观看高清| 部下是我的初恋| 逆袭情敌电视剧12集播放| 《杂货铺老板娘》| 少年派百度影音| 热辣披萨女孩电影解说| 第一炉香电影完整版观看| overflower动漫第一季| 剃须然后捡到女高中生女主| 维修工人的绝遇2中文版| 光环2电影| 凯登版《护送》在线观看 | 韩剧巨人60集免费观看| 《人世间》电视剧| 夺帅百度影音| 驯服小峓子2丽卡无删减播放| 第8个嫌疑人观看完整版 | 公主驾到:群臣跪拜完整版观看| 与部长出差的日子电影| 齐天大性之大破盘丝洞| 酒店高清免费完整版| 3d 蒲团| 美丽小蜜桃6| 高清《韩国财阀2》电影| 公公的之浮之2| 恋恋茶园电视剧免费| 战狼6高清完整免费观看国语电影| 少年阿宾20| 李晨早年上相亲节目| 内幕未删减| 多情成仁高清影视| 密室大逃脱大神版| 苦恼人的笑电影完整版| 高清《芈月传》免费观看完整| 方子传免费观看| 韩国女主叫梅川,丈夫叫小帅的电影| 寻回真爱:失忆娇妻短剧全集| 成全视频免费在线观看动漫| 绝世红颜短剧全集免费观看| 黑白配高清国语免费视频| 老三国演义84集免费观看网站| 3d柔铺团| 月上重火免费观看| 我的妈妈| 电视剧兰陵王吧| 足球尤物高清完整版在线观看| 高清时光留声未删减| 苍南 城管| 理发店里的特殊待遇4伦理片| 炽道电视剧免费观看全集在线播放| 密桃荷尔蒙| 国足vs日本前瞻| 磐石影院| 四川省月边市| 银瓶梅电视剧第5集电视剧在线观看| 铠甲勇士 帝皇侠| 杜康指的是什么意思| 高清《不遇云裳不遇你》电视剧| 电视剧回响免费观看完整版| 克莱尔的迷宫电影在线| 橘子红了电视剧全集在线观看| 丰胸乳房按摩电影| 欲百度影音| 韩国 在线 售楼小姐| 小猫钓鱼电影| 乡村也疯狂| 斗罗大陆在线观看全集免费| 新乱世佳人第9集最火的一集| 花妖刀郎完整版| 七虹香电击大作战| 漂亮的小姨韩剧免费观看完整版电视| 3d肉蒲团图片| 丈夫上司装饰品的妻子演员表| 电视剧小站风云| 一家4口换着玩| 吉沢明歩的电影| 分手的决心在线观看| 五等分的新娘第一季免费观看动漫 | 新猫和老鼠全集| 艾莉拉特满天星七个男子汉 | 一起又看流星雨14| 《花子vs倔强驱魔师》免费观看全集| 西厂厂花| 怪盗女谍天海翼在线观看| 李嘉诚96岁生日低调庆祝| 《部长来家吃饭》| 再续前缘| 热情邻居| 相逢是首歌 俞静| 十七岁在线观看高清电视剧 | 女孩阿尔玛| 美容院的特殊待遇是4| 樱井莉亚bt| 甄嬛传电视剧全集免费版| 金牌销售秘密1HD中字| 巴基斯坦老电影| 爱我几何在线免费观看| 斗破苍穹58| 南开区| 空姐2免费高清完整版观看| 新入职的员工抵不住部长| 恶行之外电影在线观看免费完整版| 寂静岭p.t| 暴躁老妈1-46集在线观看电视剧 | 大秦赋全集在线观看免费| 《美丽屋景1| 晚娘全集在线观看| 宝儿only one| 归路全集免费观看| 城里城外| 播放去年夏天| 《画皮》丁程鑫版| 《掌中之物》在线播放| 乌蒙小燕| 法国《房产销售员》在线观看| 前夫的东西很大现在还想| 1982年邵氏版《武松》| 美容院特殊待遇电影演员表| 奥特曼大全动画片| 高压监狱在线看全集免费播放| 江苏艾滋病| 掌心里的海| 私人女性监狱美国版女主是谁扮演的| 侠之大者完整版免费观看| 走出非洲| 《小叔叔来家做客》电影| 国防部回应中印边界问题| 《密会》| 屠夫呕吐娃娃视频| 法证先锋5大结局| 淫乱之女| 公主小妹第一集| 了不起的挑战第二季| 陪讨厌部长去出差旅在线观看| 闪电十一人剧场版| 脱口秀演员李昊石被警方立案调查| 别墅攻略HD完整版 | 黑金在线观看| 美式忌讳1~2| 小鲤鱼跳龙门免费| 水管维修工韩国免费在线| 丛林拯救记| 法国电影空乘2完整版在线观看中文字幕| 熊出没回家过年| 《死馆》电影免费观看| 麦乐迪版超级少女| 失笑电视剧沈月在线观看| 绝命狙击电影免费观看完整版| 碟仙诡谭| 高清《我家那小子2026》| 朝国年轻继拇6免费| 公安局长第四部| 电影我的漂亮的瘦子3| 法国高压监狱3完整版| 田连元评书下载| 垫江县| 《修女的忏悔室》动漫免费看| 郑嘉颖最新电视剧| 狂飙免费观看完整版电视剧高清 | 我是黑社会全集| 老公的部下是初恋| 蜜桃成熟33d高清| 银魂完结篇| xl司令第一季全集在线观看完整版无删| 拒绝爆冷 大头王者归来打疯了| 今生有你电视剧在哪里可以看| 佐佐木明希电影在线观看| 龙日一 你死定了2| 金银1-3| 电视剧狂飙| 我为妻子找男妓| 分娩按摩2在线观看完整| 亦舞之城| 任达华 温碧霞 惊变| 荣耀守则 在线| 李德印42式太极剑| 夫妻的世界电视剧全集在线观看| 悬崖上的金鱼姬普通话版免费观看| 战争与音乐电影完整版免费观看| 激战HD| 四大名捕会京师攻略| 战神弃少全集免费| 美丽小蜜桃美国| 玫瑰的故事在线免费| 我的莫格利男孩电视剧免费观看| 中文字幕DI岳 和女胥视频| 西铁学校操场鬼火事件| 宝儿only one| 45gtv| 朝鲜实施多项军事活动| 《美丽妻子替弟还债》电影完整版在| 繁花似锦电视剧| 唐璜的回忆| 《屠宰呕吐娃娃》高清完整版| 街头俏妞| 与君歌电视剧免费观看完整版| H版《激战丛林》中文完整版| 高清《烧酒战争》电影| 神断狄仁杰第二部| 电影《意》在线观看| 尖叫之夜免费观看2023年电影| 《金牌销售》法国| 微微一笑很倾城剧情介绍| 西出玉门几点更新| 欧式少女1-13集全剧情| 莫妮卡裸奶无删减版| 电影在线观看完整版高清免费观看| 美容院的待遇5韩剧| 蜡笔小新全集播放| 鸟的天堂教案| 美式家庭禁忌结局-3 | 用手指扰乱我| 火星西路7号| 战狼9欧美版免费观看完整版国语电影| 暗黑西游记| 解密大行动| 漂亮妈妈7巴字开头墨西哥| 3d玉蒲完整版| 苍蝇之母电影| 村妓一级| 七月之后电影完整版| 国家宝藏之觐天宝匣 电视剧| 《女军医》在线观看完整版免费| 香瓜七兄弟全集| 星梦奇缘剧情简介| 法航空姐11季最新更新内容| 兵临城下电影完整版免费观看| 初恋的滋味2电视剧免费观看| 满天星父亲的秘书马莉萨卡| 最新韩国电视剧| 巨星嫁到| 蓝色隐形帽子完整版在线| 酒徒电影| 收获之夜百度影音| 特警力量全集观看| 天涯杂谈| 龙蛇争霸| 徐良小凌演唱会| 行尸走肉第二季第二集| 盗墓笔记全集完整版| 我的女总裁上司短剧观看全集| 古镇郎中电视剧在线观看| 地久天长电影剧情详细介绍 | 天龙八部82免费版| 和部长| 予她半城短剧免费观看全集| 我的青梅竹马是消防| HD版《激战丛林》完整版免费| 旋风管家国语版| JAP69韩国| 处恋时间| 每日妈妈粤语| 第一滴血8| 黄色仓库网址| 天下足球音乐| 樱兰高校男公关真人版| 夜销魂2国语版高清在线播放| 瓜达卢佩玫瑰完整版| 胡歌版射雕| 不输男儿郎:将门嫡女沙场短剧全集| 凌云壮志满天星法版免费观看| 僵尸道长1| 亲爱的你电视剧免费观看完整版| 《和讨厌的部长出差旅》| 不可撤销2| 速度与激情10 电影| 《法国空少》免费观看| 自私的巨人| 星落凝成糖电视剧免费观看西瓜| 21世纪性格爱情指南免费版| 大鱼海棠电影| 小羊人台球| 神秘的旅伴电影| 曹操跑腿| 贞观之治演员表| 《理想之城》全集观看| 古墓丽影满天星真人版| 太上天尊短剧免费观看| 一年恋一天| 电影《在丈夫面前被劫匪欺负》电影 | 燕子李三李云龙| 《富家千金赤子板栗》| 心跳比我先认出你免费全集| 偶像来了第二季| 壮志凌云满天星未删减版| 五十度灰在线播放标清| 高清《谍战深海之惊蛰》| 米兰大坏蛋1分47秒| 《医生的特殊治疗》4| 大清风云高清| 英雄在线观看| 我年轻的瘦子4()艺术片V| 速度与激情4 影音| 雪花神剑全集| 寂寞护士1-40集免费观看在线| 嫂子嫂子| 1—5全集免费| 解禁男女在线观看| 尼格买提复盘穿帮过程| 87版《女的心愿》李丽英免费观看| 死亡绝境| 英雄豪杰101226| 维修工遇到少妇电影| 人间正道是沧桑50集全免费观看| 甲午大海战下载| 坎贝奇《无憾》电影播放| 乡村爱情8西瓜影音| 犬夜叉168| 密爱高清下载| 美国式忌讳第17集桥矿| 大耳朵图图第季全集| 迪迦奥特曼国语版动漫| 陈浩民版西游记1| 飞刀问情高清| 罗马帝国艳情史迅雷下载| 我和女侠有个约会| 我期待 原唱| 小姨多鹤电视剧免费| 365情| 邻家女人丈夫不在的日子结局| 我的老板娘电影免费播放| 我曾侍候过英国国王| 《美人教师》白峰美羽| 美式禁忌1——7| 大长今国语版| 国语电影大片在线观看| 啄木鸟灭火行动| 原来是你综艺| 好姑娘2免费高清全集| 甄嬛传40集| 《打黑风暴》22集全剧情| 美丽小蜜桃美国| 三男强一女90分钟在线观看| 大嫂电视剧| 四个贵妇精油按摩在线| 电影亢奋第一季完整版| 捷德奥特曼中文版全集免费观看| 千金肉奴隶在线观看| 阿修罗 剧场版| 天下第一大火锅开锅| 大夏傻神短剧1-100集完整版| 电影《觉醒年代》免费观看| 电影神话在线观看| 入室强奸在线免费观看| 拯救大兵瑞恩电影免费观看完整| 罪域11| 由菱开始电影免费观看| 女友的妈妈在线| 泰剧电视剧免费观看高清| 守望人妻电影| 一代名妓苏小小| 豪门恩怨:家产争夺大战全集免费| 赌命鸳鸯| 少年派百度影音| 地狱管教所| 加勒比海盗成人版在线观看影音先锋 | 汉宫clan| 紫川动漫第二季| 浑身是劲2011| 新人类之毒医肥尸| 宫电影版| 《需要爸爸播种美国》全集演员表| 谢教授短剧全集免费播放| 西西里的美丽传说 迅雷下载| 四个妇人精油按摩完整版| 秋菊打官司免费| 下一站婚姻免费完整版在线观看| 中字HD为丈夫的下属的成就| 少年派第二季全集免费播放| 斗罗大陆153集免费观看| 棘手狂情电影完整版| 斗破苍穹免费观看完整在线| 办公室色诱2免费观看| 女超人法国版在线观看| 屠龙战场| 启航2013| 瓜达卢佩的玫瑰墨西哥剧 | 度华年电视剧免费观看在线播放| 缘之空在线观看动漫高清免费| 塔日酒店电影在线观看| 电影婚戒| 法网群英粤语| 《掌中之物》在线播放| 魔法保姆麦克菲国语| 原始武器电影| 疯狂房间荷尔蒙爆发原声| 诡秘之主免费看| 倩女幽魂电影在线观看免费完整版| 《房屋销售员》免费观看| 罗马的房子主题曲| 潜伏29| 大宋少年志1| 需要爸爸播种籽2免费观看高清 | 台湾电影黛比系列之女家教在线观看 | 熟睡中被义子中出6次在线观看| 翻云覆雨国语| 人间四月天在线观看免费| 法国版《女超人:麦乐迪》免费在线观看 | 奥美迦奥特曼第3集| 银魂200| 韩国电影姐姐免费完整版| XL司令第一季动漫| 日本妈妈2在线电影免费观看| 德克里克堡| 驻站在线电视剧免费完整观看| 黑白配中文版高清在线观看| 德川公主| 我的邻居正在付出一切党整版| 鸭王2免费观看完整版普通话| 售楼小姐的秘密》在线观看| 回家诱惑| 善良的岳母娘| 超人麦乐迪在线观看中文版高清 | 吞噬星空动漫免费| 圣特罗佩斯的姑娘们| 《主妇与装修工》大结局一木百子| 地牢女孩在线观看完整版高清 | 杨思敏版金瓶梅| 《公的浮之手中字电影 | 我的传奇老婆全集| 大唐女巡案| 某某电视剧在线观看全集免费播放| 三年中文高清免费观看| 少年嘉庆电视剧| 美国双胞胎电影| 动感之星小玲183集免费观看动漫 执法女先锋1.2满天星 | 基督山伯爵电影在线观看| 凯·帕克《一家之春》| 名门闺秀全集免费| 怪兽训练营在线观看| 靖江市| 战狼10欧美版在线观看| 超人气学园剧情介绍| 爱在苍茫大地 电视剧| 机器人女儿满天星| 《敢死队2》| 陆小凤与花满楼结局| 冤家夫妻电视剧| 《售楼小姐》1的秘密| 喜羊羊与灰太狼4| 让我听懂你的语言电视剧| 佐罗满天星版免费观看| 终末的女武神 动漫之家| 许我荣耀电视剧更新| 农民伯伯乡下妹二国语版电影高清免费| 电影变形金刚1国语版| 新婚夫妇隔帘精油按摩使用方法| 师傅电视剧| 国家宝藏1在线观看| 兔子先生在线观看高清完整版免费 | 芭比之神秘之门普通话免费观看| 台湾动感之星全集视频| 如懿传在哪里看| 电视剧夺粮剿匪记| 单身即地狱综艺在线观看第四期| 姜素拉电影| 麻辣烫爱在一起| 契魔者技能| 边境之地ag5| 电影《绿茵星妈》在线看免费高清| 帝女花国语| 伯虎为卿狂| 雷锋电影下载| 新人类之毒医肥尸| 特警队电视剧免费观看完整版| 黄种人粤语| 迷你小公主| 酒店高清免费完整版| 泰国电视剧美梦成真| 成ren电影| 赵薇资本布局已20年| 灵蛇爱泰剧| 特警力量电视剧在线观看| 漂亮的瘦子 3| 大开杀戒| 琅琊榜风起长林| 猎情武阎| 魔力看在姨母家的客厅 | 麻花传剧原创MV在线看赘婿| 最近我的妹妹有点怪电影| 刀客家族女人全集| yellow高清视频在线| 青梅竹马甜宠:两小无猜短剧全集| 礼物电影完整版在线看| 无限挑战110716| 黑暗侵袭3全集高清免费播放| 年轻母亲在线免费观看| 恋恋红尘电视剧40集全免费完整版| 闪耀的她1-36集免费观看| 满天星HD版女超人在线观看 | 满天星女超人在线观看| 大姨姐在线观看| 你在微笑我却哭了| 第三次初恋| 张核子张珊珊简介| 电影《金悔瓶》徐少强雁夫人是谁演| 哈尔滨着火| 隐形战队粤语电视剧免费观看| 西瓜影音播放器官方下载| 369你懂的电影在线观看| 按摩天堂| 我的奴隶| 九门电影| 《激战丛林》电影在线观看意大利 | 高清《使命》电视剧| 电影《需要爸爸播种》演员里的| 禁忌5中字完整版| 韩剧爱在何方| 妖精的尾巴45| 白燕升个人演唱会| 《KTV聚会里的秘密》结局| 再来一次吧| 赖猫的狮子倒影在线看| 我的黑帮女友电影| 保姆的特别待遇2| 吴雪雯《性迷宫》在线| 温碧霞《灯草和尚》| 韩国三姐妹| 邻居也疯狂免费观看电视剧| 白峰电影在线观看免费版| 工作细胞中文版| 孙静雅快播| 赛尔维亚| 针锋对决无删节完整版| 家庭矛盾 麦乐迪| 王国北方的阿信| 上错花轿嫁对郎电视剧全集观看 | 姐姐的朋友在线视频| 主君的太阳16| 新醉打金枝优酷| 爱情而已电视剧免费观看完整版高清| 屠宰呕吐娃娃全集在线观看| 电影黄石的孩子| 销售的销售秘密2HD中字| 刺客伍六七第三季玄武国篇免费观看| 英雄百夜全集观看| 定南县|