中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

做網(wǎng)站注意什么北京網(wǎng)絡(luò)推廣外包公司排行

做網(wǎng)站注意什么,北京網(wǎng)絡(luò)推廣外包公司排行,定制網(wǎng)站需要多少錢(qián),手機(jī)怎樣創(chuàng)建網(wǎng)站目錄 1. DDR3 簡(jiǎn)介1.1 前要基本概念RAM & ROM 2. DDR3測(cè)試及初始化3. RGBLCD簡(jiǎn)介及控制原理3.1 RGBLCD簡(jiǎn)介3.2.1 RGB LCD時(shí)序3.2.2 像素時(shí)鐘(800*400分辨率)3.2.2 顯存(800*400分辨率) 3.3 RGBLCD的控制3.3.1 DOTCLK 硬件接口…

目錄

  • 1. DDR3 簡(jiǎn)介
    • 1.1 前要基本概念RAM & ROM
  • 2. DDR3測(cè)試及初始化
  • 3. RGBLCD簡(jiǎn)介及控制原理
    • 3.1 RGBLCD簡(jiǎn)介
      • 3.2.1 RGB LCD時(shí)序
      • 3.2.2 像素時(shí)鐘(800*400分辨率)
      • 3.2.2 顯存(800*400分辨率)
    • 3.3 RGBLCD的控制
      • 3.3.1 DOTCLK 硬件接口的時(shí)序控制
    • 3.4 RGBLCD的控制代碼實(shí)現(xiàn)

個(gè)人學(xué)習(xí)記錄

1. DDR3 簡(jiǎn)介

1.1 前要基本概念RAM & ROM

??首先進(jìn)行簡(jiǎn)要的記錄一些:

  • RAM:掉電(A)的一聲,表示內(nèi)容不在了,這個(gè)是內(nèi)存,類比手機(jī)運(yùn)行內(nèi)存,對(duì)其使用是隨用隨取,不用申請(qǐng);
  • RAM:掉電(o)的一聲,表示無(wú)所謂,這個(gè)是存儲(chǔ),類比硬盤(pán),芯片內(nèi)部flash,對(duì)其讀寫(xiě)要進(jìn)行地址和空間的申請(qǐng)后才能使用,速度比RAM慢

??RAM發(fā)展路線:RAM->SRAM->SDRAM
??首先說(shuō)明DDR3是RAM類型的,一般而言,芯片自身內(nèi)部就帶有RAM,但是都比較小,而對(duì)于運(yùn)行大型的操作系統(tǒng)或者軟件就需要較大的內(nèi)存,因此衍生了外置RAM,其中DDR3就是這些外置RAM中性價(jià)比比較高的RAM;
??SDRAM(Synchronous Dynamic Random Access Memory) 適合用來(lái)做內(nèi)存條,其中DDR1,2,3,4,5都屬于SDRAM這一塊,SRAM(Static Random-Access Memory) 適合做高速緩存或 MCU內(nèi)部的 RAM,大量的 STM32 單片機(jī)開(kāi)發(fā)板都使用到了 SRAM,比如 F103、F407 等;

2. DDR3測(cè)試及初始化

??由于對(duì)于IMX6ULL而言外置的DDR3是外置的RAM,那么我怎么才能確定這個(gè)DDR3是正常工作的呢?這個(gè)測(cè)試不是通過(guò)程序來(lái)測(cè)試的,是通過(guò)外部軟件檢測(cè)來(lái)進(jìn)行檢測(cè)的,檢測(cè)需要的關(guān)鍵數(shù)據(jù)如下:可通過(guò)NXP的DR檢測(cè)軟件來(lái)進(jìn)行檢測(cè),如果自己要焊接板子的話要詳細(xì)了解板子的啟動(dòng)方式這一章節(jié);

??DDR3這里的測(cè)試可以通過(guò)超頻壓力測(cè)試,一般超過(guò)其時(shí)鐘頻率的15%就代表這個(gè)芯片是工作正常的,注意再進(jìn)行壓力超頻測(cè)試前要進(jìn)行校準(zhǔn)的設(shè)置;
??注意測(cè)試前要進(jìn)行校準(zhǔn)測(cè)試

3. RGBLCD簡(jiǎn)介及控制原理

3.1 RGBLCD簡(jiǎn)介

??首先就是要掌握的基本概念:

  • RGB:(RED、GREEN、BLUE)三原色,
  • 分辨率:例如1920*1080是什么含義,就是有這么多像素點(diǎn)
  • 像素格式:例如藍(lán)色有很多種,如何對(duì)這些進(jìn)行度量呢?因此可以分別采用一個(gè)字節(jié)位也就是8bit來(lái)表示Red,Green,Blue,而一個(gè)字節(jié)表示0-255,因此可以通過(guò)數(shù)字的大小來(lái)表示顏色的種類或深度,稱為RGB888,同理如果再加上一個(gè)字節(jié)表示透明度,也就是ARGB888,這也是我們常用的像素格式;
  • 一些較為重要的寄存器表示的含義:一幀圖像顯示就是一行一行的顯示完畢,出來(lái)就是一幅圖片;
## 3.2 RGBLCD-時(shí)序-像素格式-顯存

3.2.1 RGB LCD時(shí)序

??這里的時(shí)序指的是再進(jìn)行LCD通信時(shí)采用的約定,這里進(jìn)行行時(shí)序和幀時(shí)序的分別介紹:如下圖:行顯示對(duì)應(yīng)的時(shí)序圖;

??其中關(guān)于DATA,DE,CLK,HSYNC寫(xiě)寄存器在RGBLCD的簡(jiǎn)介中已經(jīng)介紹:下面對(duì)HSPW,HBP,HOZVAL,HFP進(jìn)行一個(gè)簡(jiǎn)要的介紹:

  • HSPW:有些地方也叫thp,根據(jù)時(shí)序圖可以看出是確定HSYNC的低電平的持續(xù)時(shí)間的,單位是CLK,這里注意,必須要持續(xù)一段時(shí)間才能有效;
  • HBP:有些地方稱為thb,行同步信號(hào)后肩,一般也叫反步信號(hào),單位是CLK;
  • HOZVAL:顯示一行所用的時(shí)間,有些地方也稱thd,單位是CLK;
  • HFP:有些地方也稱為thf, 也稱位行同步信號(hào)前肩,單位是CLK;
  • 因此對(duì)于一行信號(hào)所用的時(shí)間為:H=HSPW+HBP+HOZVAL+HFP;

??一幀圖像就是由很多個(gè)行組成的,RGB LCD 的幀顯示時(shí)序如圖 所示:

??同理這里對(duì)一些重要的術(shù)語(yǔ)進(jìn)行介紹一下:

  • VSYNC:幀同步信號(hào),低電平有效,單位是CLK;
  • VSPW:也稱為tvp,確定VSYNC的有效長(zhǎng)度,單位是CLK;
  • VBP:也稱為tvb,同步信號(hào)后肩,單位是CLK;
  • LINE:也稱為tvd,顯示一幀的有效時(shí)間,假如分辨率是800*400的話,那么LINE就是顯示400行所用的時(shí)間;
  • VFB:也稱為tvf,同步信號(hào)的前肩,單位是CLK;
  • 因此顯示一幀所用的時(shí)間就是:有VSPW+VBP+LINE+VFB個(gè)行時(shí)間,也就是總的時(shí)間是:
  • Total=(VSPW+VBP+LINE+VFB)*(HSPW+HBP+HOZVAL+HFP);

3.2.2 像素時(shí)鐘(800*400分辨率)

??屏幕的具體參數(shù)如下:像素時(shí)鐘就是顯示RGBLCD的時(shí)鐘信號(hào),這里拿顯示一幀所用的時(shí)間來(lái)說(shuō)明:上述已經(jīng)得到了顯示一幀所用的時(shí)間公示如下:

  • Total=(VSPW+VBP+LINE+VFB)*(HSPW+HBP+HOZVAL+HFP);

而我們屏幕的具體信息如下,因此可以算得顯示60幀所用的時(shí)間:

Total=(VSPW+VBP+LINE+VFB)*(HSPW+HBP+HOZVAL+HFP)=(3+32+13+480)*(800+48+88+40)*60=30,919,680;

也就是將近:31MHZ,這和官方標(biāo)定的基本一致;

3.2.2 顯存(800*400分辨率)

??因?yàn)槲覀儾捎玫氖茿RG888的像素格式,因此一個(gè)像素點(diǎn)的信息是4字節(jié),因此要在內(nèi)存中開(kāi)辟出一段空間對(duì)這些像素內(nèi)容進(jìn)行存儲(chǔ),這個(gè)空間是多大呢,很簡(jiǎn)單。計(jì)算公式為:

  • 800*400*4=1,280,000=1.28MB,也就是開(kāi)辟1.3MB的空間就行

3.3 RGBLCD的控制

??上面已經(jīng)將RGBLCD基本信息介紹完畢,剩下的就是對(duì)RGBLCD的控制,這里控制有兩種,一種是軟件模擬控制,另外一種就是硬件接口的配置控制,由于IMX6ULL芯片帶有RGBLCD的硬件控制接口DOTCLK 接口 ,因此我們可以通過(guò)配置IMX6ULL的寄存器來(lái)實(shí)現(xiàn)相關(guān)信號(hào)的產(chǎn)生;本質(zhì)就是要實(shí)現(xiàn)與時(shí)序圖一樣的控制流程

3.3.1 DOTCLK 硬件接口的時(shí)序控制

??由于不同的RGB屏幕的有些時(shí)間值是不確定的,例如行同步信號(hào)后肩的時(shí)間長(zhǎng)度就不一致,因此在硬件接口中這些都是可以選擇性的控制,所以硬件接口的時(shí)序和RGB屏幕的時(shí)序只是有些許兼容性的差別,其他的都是一樣的,其時(shí)序圖如下:

??所以到目前為止關(guān)于RGBLCD配置的前期原理相關(guān)知識(shí)儲(chǔ)備已經(jīng)完畢,剩下的就是配置IMX6ULL的相關(guān)寄存器產(chǎn)生上述的時(shí)序,重點(diǎn)就是關(guān)于VSPW,VBP,LINE,VFB,HSPW,HBP,HOZVAL,HFP這八個(gè)時(shí)間的配置,而且還有模式選擇、時(shí)鐘信號(hào)、分辨率、像素格式等待,因此牽扯的寄存器較多,有興趣的可以根據(jù)程序揣摩;這部分的內(nèi)容可以單開(kāi)一個(gè)系類了;但是其大體上的配置思路如下:
在這里插入圖片描述

  1. 初始化相關(guān)的GPIO
  2. LCD復(fù)位及停止復(fù)位
  3. 打開(kāi)LCD的時(shí)鐘
  4. LCD的參數(shù)寫(xiě)入和控制命令寄存器的配置
  5. LCD使能
  6. 清理屏幕

3.4 RGBLCD的控制代碼實(shí)現(xiàn)

/*屏幕參數(shù)結(jié)構(gòu)體變量*/
tftlcd_typedef_t tftlcd_dev;
/*初始化LCD函數(shù)*/
void lcd_init(void)
{/*初始化屏幕IO*/lcdgpio_init();lcd_reset();delay_ms(10);lcd_noreset(); /*停止復(fù)位*//*根據(jù)不同的屏幕ID設(shè)置不同的屏幕參數(shù)*/tftlcd_dev.height = 480;	tftlcd_dev.width = 800;tftlcd_dev.vspw = 3;tftlcd_dev.vbpd = 32;tftlcd_dev.vfpd = 13;tftlcd_dev.hspw = 48;tftlcd_dev.hbpd = 88;tftlcd_dev.hfpd = 40;lcdclk_init(42, 4, 8);	/* 初始化LCD時(shí)鐘 31.5MHz */tftlcd_dev.pixsize=4;/*每個(gè)像素4個(gè)字節(jié)*/tftlcd_dev.framebuffer=LCD_FRAMEBUFFER;tftlcd_dev.forecolor=LCD_BLACK;           /*前景色,自己進(jìn)行計(jì)算,這里先用為紅色*/tftlcd_dev.backcolor=LCD_WHITE;          /*背景色設(shè)置為白色*//*配置LCD接口控值器接口*/LCDIF->CTRL  = 0;/*清零*/LCDIF->CTRL |= (1 << 19) | (1 << 17) | (0 << 14) | (0 << 12) |(3 << 10) | (3 << 8) | (1 << 5) | (0 << 1);/*設(shè)置CTR1寄存器*/LCDIF->CTRL1=0;LCDIF->CTRL1 = (7<<16);LCDIF->TRANSFER_COUNT = 0;LCDIF->TRANSFER_COUNT = (tftlcd_dev.height<<16)|(tftlcd_dev.width<<0);/*有多少行,低16位*/LCDIF->VDCTRL0=0;LCDIF->VDCTRL0 = (tftlcd_dev.vspw<<0)|(1<<20)|(1<<21)|(1<<24)|(0<<25)|(0<<26)|(0<<27)|(1<<28)|(0<<29);LCDIF->VDCTRL1 = tftlcd_dev.vspw+tftlcd_dev.vbpd+tftlcd_dev.height+tftlcd_dev.vfpd;LCDIF->VDCTRL2 = (tftlcd_dev.hspw<<18)|(tftlcd_dev.hspw+tftlcd_dev.hbpd+tftlcd_dev.width+tftlcd_dev.hfpd);LCDIF->VDCTRL3 = (tftlcd_dev.vspw+tftlcd_dev.vbpd) | ((tftlcd_dev.hspw+tftlcd_dev.hbpd)<<16);LCDIF->VDCTRL4 = (tftlcd_dev.width)|(1<<18);LCDIF->CUR_BUF = (unsigned int)tftlcd_dev.framebuffer;  LCDIF->NEXT_BUF = (unsigned int)tftlcd_dev.framebuffer;/*使能LCD ENABLE*/lcd_enable();delay_ms(10);lcd_clear(LCD_WHITE);
}/*復(fù)位LCD控制器*/
void lcd_reset(void)
{LCDIF->CTRL = (1<<31);
}
/*停止屏幕復(fù)位*/
void lcd_noreset(void)
{LCDIF->CTRL = (0<<31); 
}
/*使能LCD控制器*/
void lcd_enable(void)
{LCDIF->CTRL |= (1<<0);
}
/*屏幕IO初始化*/
void lcdgpio_init(void)
{gpio_pin_config_t gpio_config;/* 1、IO初始化復(fù)用功能 */IOMUXC_SetPinMux(IOMUXC_LCD_DATA00_LCDIF_DATA00,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA01_LCDIF_DATA01,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA02_LCDIF_DATA02,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA03_LCDIF_DATA03,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA04_LCDIF_DATA04,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA05_LCDIF_DATA05,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA06_LCDIF_DATA06,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA07_LCDIF_DATA07,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA08_LCDIF_DATA08,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA09_LCDIF_DATA09,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA10_LCDIF_DATA10,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA11_LCDIF_DATA11,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA12_LCDIF_DATA12,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA13_LCDIF_DATA13,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA14_LCDIF_DATA14,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA15_LCDIF_DATA15,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA16_LCDIF_DATA16,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA17_LCDIF_DATA17,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA18_LCDIF_DATA18,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA19_LCDIF_DATA19,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA20_LCDIF_DATA20,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA21_LCDIF_DATA21,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA22_LCDIF_DATA22,0);IOMUXC_SetPinMux(IOMUXC_LCD_DATA23_LCDIF_DATA23,0);IOMUXC_SetPinMux(IOMUXC_LCD_CLK_LCDIF_CLK,0);	IOMUXC_SetPinMux(IOMUXC_LCD_ENABLE_LCDIF_ENABLE,0);	IOMUXC_SetPinMux(IOMUXC_LCD_HSYNC_LCDIF_HSYNC,0);IOMUXC_SetPinMux(IOMUXC_LCD_VSYNC_LCDIF_VSYNC,0);IOMUXC_SetPinMux(IOMUXC_GPIO1_IO08_GPIO1_IO08,0);	/* 背光BL引腳      */IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0xF080);		IOMUXC_SetPinConfig(IOMUXC_LCD_DATA00_LCDIF_DATA00,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA01_LCDIF_DATA01,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA02_LCDIF_DATA02,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA03_LCDIF_DATA03,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA04_LCDIF_DATA04,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA05_LCDIF_DATA05,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA06_LCDIF_DATA06,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA07_LCDIF_DATA07,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA08_LCDIF_DATA08,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA09_LCDIF_DATA09,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA10_LCDIF_DATA10,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA11_LCDIF_DATA11,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA12_LCDIF_DATA12,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA13_LCDIF_DATA13,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA14_LCDIF_DATA14,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA15_LCDIF_DATA15,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA16_LCDIF_DATA16,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA17_LCDIF_DATA17,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA18_LCDIF_DATA18,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA19_LCDIF_DATA19,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA20_LCDIF_DATA20,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA21_LCDIF_DATA21,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA22_LCDIF_DATA22,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_DATA23_LCDIF_DATA23,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_CLK_LCDIF_CLK,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_ENABLE_LCDIF_ENABLE,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_HSYNC_LCDIF_HSYNC,0xB9);IOMUXC_SetPinConfig(IOMUXC_LCD_VSYNC_LCDIF_VSYNC,0xB9);IOMUXC_SetPinConfig(IOMUXC_GPIO1_IO08_GPIO1_IO08,0xB9);	/* 背光BL引腳 		*//* GPIO初始化 */gpio_config.direction = kGPIO_DigitalOutput;			/* 輸出 			*/gpio_config.outputLogic = 1; 							/* 默認(rèn)關(guān)閉背光 */gpio_init(GPIO1, 8, &gpio_config);						/* 背光默認(rèn)打開(kāi) */gpio_pinwrite(GPIO1, 8, 1);								/* 打開(kāi)背光     */
}/*像素時(shí)鐘初始化*/
/*不使用分子和分母,即小數(shù)分頻器設(shè)置為0
loopdiv:27-54可選范圍,即DIV_SECLECT寄存器
prediv:設(shè)置為1-8分頻:實(shí)際的值為-1;便于理解
div:設(shè)置1-8分頻:實(shí)際的值為-1,應(yīng)為0代表的是1分頻;
LCD_CLK=24*loopdiv/prediv/prediv
*/
void lcdclk_init(unsigned char loopdiv,unsigned char prediv,unsigned char div)
{/*不使用小數(shù)分頻器*/CCM_ANALOG->PLL_VIDEO_NUM = 0;CCM_ANALOG->PLL_VIDEO_DENOM=0;/*設(shè)置DIV寄存器*/CCM_ANALOG->PLL_VIDEO  = (1<<13)|(2<<19)|(loopdiv<<0);CCM_ANALOG->MISC2   &= ~(3<<30);/*這里的目的是把bit17-15變?yōu)?11,是我只把最高位清零,把中間的置1,但是bit15如果原來(lái)是1的話,就不能選擇正確的時(shí)鐘*/CCM->CSCDR2  &= ~(1<<17);CCM->CSCDR2  |= (2<<15);   /*四路時(shí)鐘選擇器*/  CCM->CSCDR2  &= ~(1<<15);CCM->CSCDR2 &=~(7<<12);CCM->CSCDR2 |= ((prediv-1)<<12);CCM->CBCMR  &= ~(7<<23);CCM->CBCMR  |= ((div-1)<<23);CCM->CSCDR2 &= ~(7<<9);/*選擇時(shí)鐘源*/CCM->CSCDR2 |= (0 << 9);					/* LCDIF_PRE時(shí)鐘源選擇LCDIF_PRE時(shí)鐘 */
}
/* 打點(diǎn)函數(shù)*/
inline void lcd_drawpoint(unsigned short x,unsigned short y,unsigned int color)
{ *(unsigned int*)((unsigned int)tftlcd_dev.framebuffer + tftlcd_dev.pixsize * (tftlcd_dev.width * y+x))=color;
}
/*讀點(diǎn)函數(shù)*/
inline unsigned int lcd_readpoint(unsigned short x,unsigned short y)
{return *(unsigned int*)((unsigned int )tftlcd_dev.framebuffer+tftlcd_dev.pixsize*(tftlcd_dev.width*y+x));
}
/*清理屏幕內(nèi)容,清屏函數(shù)*/
void lcd_clear(unsigned int color)
{unsigned int num;unsigned int i=0;unsigned int *startaddr=(unsigned int *)tftlcd_dev.framebuffer;num  = (unsigned int)tftlcd_dev.width*tftlcd_dev.height;for(i=0;i<num;i++){startaddr[i]=color;}
}
http://www.risenshineclean.com/news/48383.html

相關(guān)文章:

  • 自己做的網(wǎng)站怎么搜不到焊工培訓(xùn)技術(shù)學(xué)校
  • 網(wǎng)站腦圖用什么做站長(zhǎng)統(tǒng)計(jì)app
  • wordpress捐贈(zèng)按鈕seo搜索引擎優(yōu)化步驟
  • 青島微網(wǎng)站開(kāi)發(fā)長(zhǎng)沙關(guān)鍵詞優(yōu)化平臺(tái)
  • 企業(yè)推廣語(yǔ)句東莞seo顧問(wèn)
  • 東莞 包裝制品 東莞網(wǎng)站建設(shè)產(chǎn)品市場(chǎng)推廣方案范文
  • 長(zhǎng)春疫情最新消息今天新增病例軌跡千度seo
  • 十大購(gòu)物網(wǎng)站排名全自動(dòng)引流推廣軟件
  • 做地方特產(chǎn)的網(wǎng)站最火的網(wǎng)絡(luò)銷(xiāo)售平臺(tái)
  • asp網(wǎng)站漏洞修復(fù)插件南京網(wǎng)站制作公司
  • 織夢(mèng)網(wǎng)站管理系統(tǒng)廊坊seo管理
  • 昌吉網(wǎng)站建設(shè)電話百度關(guān)鍵詞網(wǎng)站排名優(yōu)化軟件
  • 天津企業(yè)網(wǎng)站建設(shè)一條龍網(wǎng)推資源渠道
  • 廣州做網(wǎng)站設(shè)計(jì)百度seo推廣軟件
  • web網(wǎng)站如何做負(fù)載均衡谷歌搜索引擎google
  • 網(wǎng)站做微信公眾號(hào)輿情網(wǎng)站入口
  • 義烏外貿(mào)公司聯(lián)系方式南寧seo排名首頁(yè)
  • 網(wǎng)站備案真實(shí)性核驗(yàn)網(wǎng)站seo方案策劃書(shū)
  • 沒(méi)有做老千的斗牛網(wǎng)站6網(wǎng)絡(luò)營(yíng)銷(xiāo)專業(yè)課程
  • 四平網(wǎng)站建設(shè)404頁(yè)面對(duì)網(wǎng)站的好處及設(shè)置方法百度一下馬上知道
  • 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師證書(shū)圖片seo引擎優(yōu)化公司
  • 做設(shè)計(jì)的搜素材上什么網(wǎng)站廣州優(yōu)化營(yíng)商環(huán)境條例
  • 哈爾濱網(wǎng)站建設(shè)教程seo站長(zhǎng)助手
  • 石臺(tái)做網(wǎng)站新的營(yíng)銷(xiāo)模式有哪些
  • wordpress網(wǎng)址轉(zhuǎn)跳插件seo是什么專業(yè)的課程
  • ps做網(wǎng)站頁(yè)面設(shè)置為多大seo推廣優(yōu)化工具
  • 標(biāo)題優(yōu)化方法百度網(wǎng)站免費(fèi)優(yōu)化軟件下載
  • php企業(yè)網(wǎng)站源代碼網(wǎng)站優(yōu)化方式有哪些
  • 網(wǎng)站開(kāi)發(fā)論文題目seo排名系統(tǒng)源碼
  • 網(wǎng)站的ci設(shè)計(jì)怎么做優(yōu)化網(wǎng)站打開(kāi)速度