導航:首頁 > 源碼編譯 > 智能小車循跡演算法

智能小車循跡演算法

發布時間:2022-09-04 20:16:17

1. 智能循跡小車 有的跑道是中間一條黑線,有的兩邊是黑線,他們各自的原理是什麼啊

尋跡小車一般都有光電引導頭,他用的是物理學原理,黑色在物理的意思上是吸收一切光線(白色的意思是反射任何光線)。小車下面的引導頭(有發射和接收兩個頭,一般是一體式的)會發射光線,當遇到白色物體時,光線被反射回來,然後接收頭接收,輸出高電平,這樣小車就判斷為白色。如果遇到的是黑線,則不會被反射,接收頭無法接收到信號,輸出低電平,小車就知道是黑色。後面就很簡單了,小車上的引導頭往往是並聯多路,比如五路或者三路,只要讓中間的引導頭一直跟著黑線走,一直尋跡黑色就可以了。而最外邊的兩個不能碰到黑線就好。如果偏了,小車就用單片機程序調整一下電機的控制,讓兩側電機加速或者減速,或者一加速一減速(轉彎能力更強),小車就轉彎,調整一下方向就好了。

2. 求循跡智能小車原理資料不勝感激。

通常循跡小車前方具有兩只光電管,而循跡的原理是利用所謂印跡和道路的光線反差來實現控制。比方印跡為黑色,兩只光電管全部照射在黑色印跡上面證明車輛循跡正常兩個車輪同等轉速。照射的左面光電管偏差出現照射到白色路面,則控制反饋令左面車輪加速,其作用相當於向右轉。當兩個光電管全部接收黑色信號,又回到兩個車輪等速前進。右面光電管照射到白色路面,右面車輪加速,作用相當於向左轉。通過兩只光電管的反復不斷修正實現循跡作用。假如想看書學習,近年的無線電雜志具有大量的資料。

3. 用labview編程智能循跡小車的程序思路

膠帶的寬度一定的話:

四個感測器一字排列的情況最簡單:

按1234號感測器命名,照在膠帶上狀態位為A,否則為a.

直線正常行走時,23號持續為A,14號持續為a.

分析開始右轉的邏輯:

  1. 2號變a,繼續直線行走,直到4號變A,根據24號間的距離和小車在這段時間內行駛的距離計算出轉動角度(這就是動態平面幾何問題了,自己畫圖解一下,注意轉彎時候前後中心點的軌跡,膠帶寬度是關鍵,得到的角度不會也不必太精確。這里我只討論邏輯),然後以比計算結果稍大(目的是確保能讓2恢復狀態A)的轉動角度開始轉彎,等到2和3都恢復狀態A,小車變回直線行走,等到2號重新變a,小車再恢復到原先的轉動角度……後面一直循環就行了

  2. 直線上如果車子前進方向傾斜,和轉彎一樣,下面以車子向右傾斜為例分析:

    1. 會出現3號變a的情況,繼續保持直線行走,直到1號變A,計算出小車在這個過程中行進距離,結合膠帶寬度,1和3號間的距離,就可以算出偏離的角度然後決定轉動角度。後面具體調整和過彎道一樣。

然後我來吐槽為什麼要用labview,你是想著拿著筆記本進行無線操控么 - -,嵌入式的labview編程現在還不成熟好吧~

4. 51單片機智能小車循跡問題

用個演算法判斷,十字路口的與重點的區別是什麼?用代碼判斷,自己好好想想

5. 51智能小車尋跡路線,怎麼編程讓小車按原路返回

接循跡用的光電感測器,用單片機判斷,驅動電機執行。感測器越多越好。
以比較奇葩的單路感測器為例,0驅動左輪,1驅動右輪,就可以沿黑線一側搖擺前進。這么簡單的判斷都可以不用單片機,呵呵。

6. 各位 請詳細解答一下光電對管循跡智能車拐彎時的演算法

#include<reg52.h>
#define uchar unsigned char #define uint unsigned int
uchar a,i,time_count=0, count=0,Dutycycle0=50,Dutycycle1=50,flag; uchar state;
/***定義電機控制位***/
sbit INT11=P0^0; //電機控制位,左電機 左,晶元中的總開關 sbit INT22=P0^1; // 右電機控制位,高電平有效
sbit INT33=P0^2; //控制左電機,從而控制其中的車輪 sbit INT44=P0^3;
sbit funpwm0=P1^3; ///兩個控制PWM的埠 sbit funpwm1=P1^4;
sbit IO4=P2^0; //ST188輸出埠 sbit IO1=P2^1; sbit IO2=P2^2; sbit IO3=P2^3; sbit IO5=P0^7;
sfr CCON = 0xD8; // PCA控制寄存器 sbit CCF0 = CCON^0; // PCA模塊0中斷標志 sbit CCF1 = CCON^1; // PCA模塊0中斷標志 sbit CR = CCON^6; // PCA計數器陣列溢出標志位 sbit CF = CCON^7; // PCA計數器陣列運行控制位 sfr CMOD = 0xD9; // PCA工作模式寄存器 sfr CL = 0xE9; // PCA的16位計數器----低8位 sfr CH = 0xF9; // PCA的16位計數器----高8位 sfr CCAPM0 = 0xDA; // PCA模塊0的輸出脈沖頻率 sfr CCAP0L = 0xEA; // PCA捕獲、比較寄存器——低位位元組 sfr CCAP0H = 0xFA; // PCA捕獲、比較寄存器——高位位元組 sfr CCAPM1 = 0xDB; // PCA模塊1的輸出脈沖頻率 sfr CCAP1L = 0xEB; // 同上 sfr CCAP1H = 0xFB; // 同上 sfr PCAPWM0= 0xf2; // PCA模塊0的PWM寄存器 sfr PCAPWM1= 0xf3; // PCA模塊1的PWM寄存器

7. 智能小車循跡程序

電設小車循跡模塊 轉自:http://blog.sina.com.cn/s/blog_4bb018e10100ermy.html供參考://包含所需頭文件
#include <ioM16v.h>
#include <macros.h>
#include"time1_init.h"
#include"motor.h"#define ahead 1
#define backwards 0
#define compare(x,y) (x<y?1:0)
#define mid 0X17//埠初始化
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x08;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
}void timer0_init(void)
{
TCCR0 = 0x00;//停止定時器
TCNT0 = 0x00;//初始值
OCR0 = 0x17;//匹配值
TIMSK |= 0x00;//中斷允許
TCCR0 = 0x7D;//啟動定時器
}void adc_init(void)
{
//adc轉換初始化
ADCSRA = 0x00; //禁止AD轉換
ADCSRA|=BIT(ADIF);
ADMUX=0X46;
SFIOR |= 0x00;
ACSR = 0x80; //禁止模擬比較器
ADCSRA = 0xE7;
}void init_devices(void)
{
CLI(); //禁止所有中斷
MCUCR = 0x00;
MCUCSR = 0x80;//禁止JTAG
GICR = 0x00;
port_init();
timer0_init();
timer1_init();
adc_init();
SEI();//開全局中斷
}uint sensor_head[3],sensor_back[3],cord; //存儲6個感測器AD轉換的值
uchar offset ; //黑線偏移小車中心軸的距離
uint sensor_compare_head[3]={300,300,300},sensor_compare_back[3]={300,300,300}; //判斷黑線是否位於感測器下的閾值uchar start_head_sensor(void)
{
uchar i,j=0,sum=0;
ADMUX=0X40;
ADCSRA=0xC7;
while(ADCSRA&BIT(ADSC));
for(i=0;i<3;i++)
{
ADMUX=0X40+i; //啟用前端感測器0,1,2通道
ADCSRA=0xC7;
while(ADCSRA&BIT(ADSC));
sensor_head[i]=ADC;
}
for(i=3;i;i--)
{
if(compare(sensor_head[i-1],sensor_compare_head[i-1]))
{
sum+=i-1;
j++;
}
}
if(j)
offset=sum*2/j;
ADMUX=0X46;
ADCSRA=0xE7;
return offset;
}

uchar start_back_sensor(void)
{
uchar i,j=0,sum=0;
ADMUX=0X43;
ADCSRA=0xC7;
while(ADCSRA&BIT(ADSC));
for(i=0;i<3;i++)
{
ADMUX=0X43+i; //啟用前端感測器0,1,2通道
ADCSRA=0xC7;
while(ADCSRA&BIT(ADSC));
sensor_back[i]=ADC;
}
for(i=3;i;i--)
{
if(compare(sensor_back[i-1],sensor_compare_back[i-1]))
{
sum+=i-1;
j++;
}
}
if(j)offset=sum*2/j;
ADMUX=0X46;
ADCSRA=0XE7;
return offset;
}//角度感測器濾波函數
uint cord_sensor(void)
{
uchar i;
uint max=0,min=1023,sum=0;
for(i=0;i<5;i++)
{
ADCSRA|=BIT(ADIF);
while(!(ADCSRA&BIT(ADIF)));
cord=ADC;
sum+=cord;
max=(max>cord)?max:cord;
min=(min<cord)?min:cord;
}
return (sum-max-min)/3;
}void direc_ctrl(uchar x,uchar y)
{
if(y)
{
if(x==0)OCR0=mid+3;
if(x==4)OCR0=mid-3;
if(x==2) OCR0=mid;
}
else OCR0=mid+x-2;
}void menmber_path(void)
{
uchar j;
uint i;
uint max_head[3]={0,0,0},min_head[3]={1023,1023,1023},max_back[3]={0,0,0},min_back[3]={1023,1023,1023};
for(i=4000;i;i--)
{
start_head_sensor();
for(j=0;j<3;j++)
{
max_head[j]=(max_head[j]>sensor_head[j])?max_head[j]:sensor_head[j];
min_head[j]= (min_head[j]<sensor_head[j])?min_head[j]:sensor_head[j];
}
start_back_sensor();
for(j=0;j<3;j++)
{
max_back[j]=(max_back[j]>sensor_back[j])?max_back[j]:sensor_back[j];
min_back[j]= (min_back[j]<sensor_back[j])?min_back[j]:sensor_back[j];
}
}
for(j=0;j<3;j++)
{
sensor_compare_head[j]=(max_head[j]+min_head[j])/2;
sensor_compare_back[j]=(max_back[j]+min_back[j])/2;
}
}

uchar head_sensor_all(void)
{
start_head_sensor();
if( compare(sensor_head[0], sensor_compare_head[0]) && compare(sensor_head[1], sensor_compare_head[1]) && compare(sensor_head[2], sensor_compare_head[2]))
return 1;
else
return 0;
}uchar back_sensor_all(void)
{
start_back_sensor();
if( compare(sensor_back[0], sensor_compare_back[0]-30) && compare(sensor_back[1], sensor_compare_back[1]-30) && compare(sensor_back[2], sensor_compare_back[2]-30))
return 1;
else
return 0;
}
void search_path_ahead(uchar speed)
{
motor_autorun(ahead,speed);
while(1)
{
if(head_sensor_all())
{
motor_stop();
return;
}
else
{
direc_ctrl(offset,1);
}
}
}

void search_path_backward(uchar speed)
{
motor_autorun(0,speed);
while(1)
{
if(back_sensor_all())
{
motor_stop();
return;
}
else
direc_ctrl(offset,0);
}
}

8. 怎麼設計循跡小車

1. 小車控制及驅動單元的選擇 此部分是整個小車的大腦,是整個小車運行的核心部件,起著控制小車所有運行狀態的作用。通常選用單片機作為小車的核心控制單元,在這里用台灣凌陽公司的SPCE061A單片機來做小車的控制單元。SPCE061是一款擁有2K RAM、32KFlash、32 個I/O 口,並集成了AD/DA功能強大的16位微處理器,它還擁有豐富的語音處理功能,為小車的功能擴展提供了相當大的空間。只要按照該單片機的要求對其編製程序就可以實現很多不同的功能。小車驅動電機一般利用現成的玩具小車上的配套直流電機。考慮到小車必須能夠前進、倒退、停止,並能靈活轉向,在左右兩輪各裝一個電機分別進行驅動。當左輪電機轉速高於右輪電機轉速時小車向右轉,反之則向左轉。為了能控制車輪的轉速,可以採取PWM調速法,即由單片機的IOB8、IOB9輸出一系列頻率固定的方波,再通過功率放大來驅動電機,在單片機中編程改變輸出方波的占空比就可以改變加到電機上的平均電壓,從而可以改變電機的轉速。左右輪兩個電機轉速的配合就可以實現小車的前進、倒退、轉彎等功能。 2. 小車循跡的原理 這里的循跡是指小車在白色地板上循黑線行走,通常採取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發射紅外光,當紅外光遇到白色紙質地板時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機就是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應超過15cm。對於發射和接收紅外線的紅外探頭,可以自己製作或直接採用集成式紅外探頭。 (1)自製紅外探頭電路如圖1所示,紅外光的發送接收選用型號為ST168的對管。當小車在白色地面行駛時,裝在車下的紅外發射管發射紅外線信號,經白色反射後,被接收管接收,一旦接收管接收到信號,那麼圖中光敏三極體將導通,比較器輸出為低電平;當小車行駛到黑色引導線時,紅外線信號被黑色吸收後,光敏三極體截止,比較器輸出高電平,從而實現了通過紅外線檢測信號的功能。將檢測到的信號送到單片機I/O口,當I/O口檢測到的信號為高電平時,表明紅外光被地上的黑色引導線吸收了,表明小車處在黑色的引導線上;同理,當I/O口檢測到的信號為低電平時,表明小車行駛在白色地面上。此種方法簡單,價格便宜,靈敏度可調,但是容易受到周圍環境的影響,特別是在圖1較強的日光燈下,對檢測到的信號有一定的影響。 (2)集成式紅外探頭可以採用型號為E3F-DS10C4集成斷續式光電開關探測器,它具有簡單、可靠的工作性能,只要調節探頭上的一個旋鈕就可以控制探頭的靈敏度。該探頭輸出端只有三根線(電源線、地線、信號線),只要將信號線接在單片機的I/O口,然後不停地對該I/O口進行掃描檢測,當其為高電平時則檢測到白紙,當為低電平時則檢測到黑線。此種探頭還能有效地防止普通光源(如日光燈等)的干擾。其缺點則是體積比較大,佔用了小車有限的空間。 3.紅外探頭的安裝 在小車具體的循跡行走過程中,為了能精確測定黑線位置並確定小車行走的方向,需要同時在底盤裝設4個紅外探測頭,進行兩級方向糾正控制,提高其循跡的可靠性。這4個紅外探頭的具體位置如圖2所示。圖中循跡感測器共安裝4個,全部在一條直線上。其中InfraredMR與InfraredML 為第一級方向控制感測器,InfraredSR 與InfraredSL 為第二級方向控制感測器。小車行走時,始終保持黑線(如圖2 中所示的行走軌跡黑線)在InfraredMR和InfraredML這兩個第一級感測器之間,當小車偏離黑線時,第一級探測器一旦探測到有黑線,單片機就會按照預先編定的程序發送指令給小車的控 制系統,控制系統再對小車路徑予以糾正。若小車回到了軌道上,即4個探測器都只檢測到白紙,則小車會繼續行走;若小車由於慣性過大依舊偏離軌道,越出了第一級兩個探測器的探測范圍,這時第二級動作,再次對小車的運動進行糾正,使之回到正確軌道上去。可以看出,第二級方向探測器實際是第一級的後備保護,從而提高了小車循跡的可靠性。 4.軟體控制 其程序控制框圖如圖3。小車進入循跡模式後,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序(switch),先確定4個探測器中的哪一個探測到了黑線,如果InfraredML(左面第一級感測器)或者InfraredSL(左面第二級感測器)探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應使小車向左轉;如果是InfraredMR(右面第一級感測 器)或InfraredSR(右面第二級感測器)探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉。在經過了方向調整後,小車再繼續向前行走,並繼續探測黑線重復上述動作。 由於第二級方向控制為第一級的後備,則兩個等級間的轉向力度必須相互配合。 電動循跡小車設計1. 小車控制及驅動單元的選擇 此部分是整個小車的大腦,是整個小車運行的核心部件,起著控制小車所有運行狀態的作用。通常選用單片機作為小車的核心控制單元,在這里用台灣凌陽公司的SPCE061A單片機來做小車的控制單元。SPCE061是一款擁有2K RAM、32KFlash、32 個I/O 口,並集成了AD/DA功能強大的16位微處理器,它還擁有豐富的語音處理功能,為小車的功能擴展提供了相當大的空間。只要按照該單片機的要求對其編製程序就可以實現很多不同的功能。小車驅動電機一般利用現成的玩具小車上的配套直流電機。考慮到小車必須能夠前進、倒退、停止,並能靈活轉向,在左右兩輪各裝一個電機分別進行驅動。當左輪電機轉速高於右輪電機轉速時小車向右轉,反之則向左轉。為了能控制車輪的轉速,可以採取PWM調速法,即由單片機的IOB8、IOB9輸出一系列頻率固定的方波,再通過功率放大來驅動電機,在單片機中編程改變輸出方波的占空比就可以改變加到電機上的平均電壓,從而可以改變電機的轉速。左右輪兩個電機轉速的配合就可以實現小車的前進、倒退、轉彎等功能。 2. 小車循跡的原理 這里的循跡是指小車在白色地板上循黑線行走,通常採取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質的特點,在小車行駛過程中不斷地向地面發射紅外光,當紅外光遇到白色紙質地板時發生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機就是否收到反射回來的紅外光為依據來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應超過15cm。對於發射和接收紅外線的紅外探頭,可以自己製作或直接採用集成式紅外探頭。 (1)自製紅外探頭電路如圖1所示,紅外光的發送接收選用型號為ST168的對管。當小車在白色地面行駛時,裝在車下的紅外發射管發射紅外線信號,經白色反射後,被接收管接收,一旦接收管接收到信號,那麼圖中光敏三極體將導通,比較器輸出為低電平;當小車行駛到黑色引導線時,紅外線信號被黑色吸收後,光敏三極體截止,比較器輸出高電平,從而實現了通過紅外線檢測信號的功能。將檢測到的信號送到單片機I/O口,當I/O口檢測到的信號為高電平時,表明紅外光被地上的黑色引導線吸收了,表明小車處在黑色的引導線上;同理,當I/O口檢測到的信號為低電平時,表明小車行駛在白色地面上。此種方法簡單,價格便宜,靈敏度可調,但是容易受到周圍環境的影響,特別是在圖1較強的日光燈下,對檢測到的信號有一定的影響。 (2)集成式紅外探頭可以採用型號為E3F-DS10C4集成斷續式光電開關探測器,它具有簡單、可靠的工作性能,只要調節探頭上的一個旋鈕就可以控制探頭的靈敏度。該探頭輸出端只有三根線(電源線、地線、信號線),只要將信號線接在單片機的I/O口,然後不停地對該I/O口進行掃描檢測,當其為高電平時則檢測到白紙,當為低電平時則檢測到黑線。此種探頭還能有效地防止普通光源(如日光燈等)的干擾。其缺點則是體積比較大,佔用了小車有限的空間。 3.紅外探頭的安裝 在小車具體的循跡行走過程中,為了能精確測定黑線位置並確定小車行走的方向,需要同時在底盤裝設4個紅外探測頭,進行兩級方向糾正控制,提高其循跡的可靠性。這4個紅外探頭的具體位置如圖2所示。圖中循跡感測器共安裝4個,全部在一條直線上。其中InfraredMR與InfraredML 為第一級方向控制感測器,InfraredSR 與InfraredSL 為第二級方向控制感測器。小車行走時,始終保持黑線(如圖2 中所示的行走軌跡黑線)在InfraredMR和InfraredML這兩個第一級感測器之間,當小車偏離黑線時,第一級探測器一旦探測到有黑線,單片機就會按照預先編定的程序發送指令給小車的控 制系統,控制系統再對小車路徑予以糾正。若小車回到了軌道上,即4個探測器都只檢測到白紙,則小車會繼續行走;若小車由於慣性過大依舊偏離軌道,越出了第一級兩個探測器的探測范圍,這時第二級動作,再次對小車的運動進行糾正,使之回到正確軌道上去。可以看出,第二級方向探測器實際是第一級的後備保護,從而提高了小車循跡的可靠性。 4.軟體控制 其程序控制框圖如圖3。小車進入循跡模式後,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序(switch),先確定4個探測器中的哪一個探測到了黑線,如果InfraredML(左面第一級感測器)或者InfraredSL(左面第二級感測器)探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應使小車向左轉;如果是InfraredMR(右面第一級感測 器)或InfraredSR(右面第二級感測器)探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉。在經過了方向調整後,小車再繼續向前行走,並繼續探測黑線重復上述動作。 由於第二級方向控制為第一級的後備,則兩個等級間的轉向力度必須相互配合。第二級通常是在超出第一級的控制范圍的情況下發生作用,它也是最後一層保護,所以它必須要保證小車回到正確軌跡上來,則通常使第二級轉向力度大於第一級,即level2>level1(level1、level2為小車轉向力度,其大小通過改變單片機輸出的占空比的大小來改變),具體數值在實地實驗中得到。根據上面所講述的方法,我們可以較容易地做出按照一定軌跡行走的智能電動小車。但是按照該方法行走的小車如果是走直線,有可能會是蛇形前進。為了使小車能夠按軌跡行走的更流暢,可以在軟體編程時運用一些簡單的演算法。例如,在對小車進行糾偏時,適當提前停止糾偏,而不要等到小車完全不偏時再停止,以防止小車的過沖。 第二級通常是在超出第一級的控制范圍的情況下發生作用,它也是最後一層保護,所以它必須要保證小車回到正確軌跡上來,則通常使第二級轉向力度大於第一級,即level2>level1(level1、level2為小車轉向力度,其大小通過改變單片機輸出的占空比的大小來改變),具體數值在實地實驗中得到。 根據上面所講述的方法,我們可以較容易地做出按照一定軌跡行走的智能電動小車。但是按照該方法行走的小車如果是走直線,有可能會是蛇形前進。為了使小車能夠按軌跡行走的更流暢,可以在軟體編程時運用一些簡單的演算法。例如,在對小車進行糾偏時,適當提前停止糾偏,而不要等到小車完全不偏時再停止,以防止小車的過沖

9. 基於51單片機的智能循跡小車如何實現小車的速度不會隨電池的電量而變化.(程序)

1、電池電壓高的話可以用穩壓的辦法,如將12V電池穩壓至9V用,當降到9V就要換電池或充電,保證電機驅動供電電壓9V不變
2、或者就是速度閉環了,取一個低速作為目標值,保證低壓時也能達到該速度

10. 智能小車循跡左右擺動幅度過大,怎麼辦

增加感測器數量,優化軟體演算法!

閱讀全文

與智能小車循跡演算法相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:768
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:843
安卓怎麼下載60秒生存 瀏覽:802
外向式文件夾 瀏覽:237
dospdf 瀏覽:430
怎麼修改騰訊雲伺服器ip 瀏覽:389
pdftoeps 瀏覽:495
為什麼鴻蒙那麼像安卓 瀏覽:735
安卓手機怎麼拍自媒體視頻 瀏覽:185
單片機各個中斷的初始化 瀏覽:723
python怎麼集合元素 瀏覽:480
python逐條解讀 瀏覽:832
基於單片機的濕度控制 瀏覽:498
ios如何使用安卓的帳號 瀏覽:882
程序員公園采訪 瀏覽:811
程序員實戰教程要多長時間 瀏覽:976
企業數據加密技巧 瀏覽:134
租雲伺服器開發 瀏覽:813
程序員告白媽媽不同意 瀏覽:335
攻城掠地怎麼查看伺服器 瀏覽:600