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

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

做網(wǎng)上商城網(wǎng)站設(shè)計(jì)靠譜的廣告聯(lián)盟

做網(wǎng)上商城網(wǎng)站設(shè)計(jì),靠譜的廣告聯(lián)盟,網(wǎng)站開(kāi)發(fā) 創(chuàng)造收益,關(guān)于美食網(wǎng)站的問(wèn)卷調(diào)查怎么做文章目錄 可變參數(shù)的使用技巧第三階段-初級(jí)實(shí)驗(yàn)Lesson5:不一樣的點(diǎn)燈實(shí)驗(yàn)---學(xué)習(xí)I/O的輸出 ☆點(diǎn)燈的電路圖分析1 一起看看點(diǎn)燈的電路圖Tip1:另一種點(diǎn)燈的電路Tip1:如何訪問(wèn)外設(shè)的寄存器2 STM32F407中操作GPIO的方法 通過(guò)直接操作寄存器實(shí)現(xiàn)點(diǎn)燈實(shí)驗(yàn)Tip1:硬件編程的基本流程 2代…

文章目錄

  • 可變參數(shù)的使用技巧
  • 第三階段-初級(jí)實(shí)驗(yàn)
    • Lesson5:不一樣的點(diǎn)燈實(shí)驗(yàn)---學(xué)習(xí)I/O的輸出
  • ☆點(diǎn)燈的電路圖分析
    • 1 一起看看點(diǎn)燈的電路圖
    • Tip1:另一種點(diǎn)燈的電路
    • Tip1:如何訪問(wèn)外設(shè)的寄存器
    • 2 STM32F407中操作GPIO的方法
  • 通過(guò)直接操作寄存器實(shí)現(xiàn)點(diǎn)燈實(shí)驗(yàn)
    • Tip1:硬件編程的基本流程
  • 2代碼實(shí)現(xiàn)及分析

可變參數(shù)的使用技巧

void fixed_args_func(int a, double b, char c)
{printf("a = 0x%p\n", &a);printf("b = 0x%p\n", &b);printf("c = 0x%p\n", &c);
if(&a==MCULowPower)
}
void var_args_func(const char * fmt, ...)
{... ...
}
void var_args_func(const char * fmt, ...)
{char    *ap;ap = ((char*)&fmt) + sizeof(fmt);printf("%d\n", *(int*)ap);ap =  ap + sizeof(int);printf("%d\n", *(int*)ap);ap =  ap + sizeof(int);printf("%s\n", *((char**)ap));
}

在這里插入圖片描述

第三階段-初級(jí)實(shí)驗(yàn)

Lesson5:不一樣的點(diǎn)燈實(shí)驗(yàn)—學(xué)習(xí)I/O的輸出

1: 理論基礎(chǔ) CPU工作機(jī)制 如何對(duì)CPU編程
外設(shè)的的原理
2:代碼實(shí)現(xiàn)以及分析
3:在板實(shí)驗(yàn)和調(diào)試
嵌入式開(kāi)發(fā)必知會(huì)之三—
了解LED☆點(diǎn)燈的電路圖分析區(qū)
STM32F407中GPIO的特性及操作方法
1.LED的功能,特點(diǎn)和用途
在這里插入圖片描述

發(fā)光二極管
在這里插入圖片描述

2.LED的工作原理

課后作業(yè):請(qǐng)同學(xué)們課后了解電阻,電容和電感的功能,特點(diǎn),用途及電路符號(hào)表示

☆點(diǎn)燈的電路圖分析

1 一起看看點(diǎn)燈的電路圖

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

Tip1:另一種點(diǎn)燈的電路

1 STM32F407中GPIO的特性
Tip1:如何訪問(wèn)外設(shè)的寄存器

2 STM32F407中操作GPIO的方法

  • 輸出的配置

  • 高低電平的配告

  • 手冊(cè)描述
    通用IO (GPIO)
    除非特別說(shuō)明,否則本部分適用于整個(gè)STM32F4xx系列。

    • 7.1 GPIO簡(jiǎn)介
      每個(gè)通用IO端口包括4個(gè)32位配置寄存器(GPIOx_MODER、GPIOx_OTYPER、GPIOx_OSPEEDR和 GPIOx_PUPDR)、2個(gè)32位數(shù)據(jù)寄存器(GPIOx_IDR和
      GPIOx_ODR)、1個(gè) 32位置位/復(fù)位寄存器(GPIOx_BSRR)、1個(gè)32位鎖定寄存器(GPIOx_LCKR)和2個(gè)32位復(fù)用功能選擇寄存器(GPIOx_AFRH 和GPIOx_AFRL)。

    • 7.2 GPIO主要特性受控IO多達(dá)16個(gè)
      輸出狀態(tài):推挽或開(kāi)漏+上拉/下拉
      從輸出數(shù)據(jù)寄存器(GPIOx_ODR)或外設(shè)(復(fù)用功能輸出)輸出數(shù)據(jù)可為每個(gè)IO選擇不同的速度
      輸入狀態(tài):浮空、上拉/下拉、模擬
      將數(shù)據(jù)輸入到輸入數(shù)據(jù)寄存器(GPIOx_IDR)或外設(shè)(復(fù)用功能輸入)置位和復(fù)位寄存器(GPIOx_BSRR),對(duì)GPIOx_ODR具有按位寫(xiě)權(quán)限鎖定機(jī)制(GPIOx_LCKR),可凍結(jié)IO配置
      模擬功能
      復(fù)用功能輸入/輸出選擇寄存器(一個(gè)IO最多可具有16個(gè)復(fù)用功能>快速翻轉(zhuǎn),每次翻轉(zhuǎn)最快只需要兩個(gè)時(shí)鐘周期
      引腳復(fù)用非常靈活,允許將IO引腳用作GPIO或多種外設(shè)功能中的一種

    • 7.3 GPIO功能描述
      根據(jù)數(shù)據(jù)手冊(cè)中列出的每個(gè)lO端口的特性,可通過(guò)軟件將通用IVO(GPIO)端口的各個(gè)端口位分別配置為多種模式;
      輸入浮空
      輸入上拉
      輸入下拉模擬功能
      具有上拉或下拉功能的開(kāi)漏輸出具有上拉或下拉功能的推挽輸出具有上拉或下拉功能的復(fù)用功能推挽具有上拉或下拉功能的復(fù)用功能開(kāi)漏
      每個(gè)IO端口位均可自由編程,但I(xiàn)O端口寄存器必須按32位字、半字或字節(jié)進(jìn)行訪問(wèn)。GPIOx_BSRR寄存器旨在實(shí)現(xiàn)對(duì)GPIO ODR寄存器進(jìn)行原子讀取/修改訪問(wèn)。這樣便可確保在讀取和修改訪問(wèn)之間發(fā)生中斷請(qǐng)求也不會(huì)有問(wèn)題。
      在這里插入圖片描述

    • 8.3.10 Output配置
      在這里插入圖片描述 在這里插入圖片描述
      當(dāng)lO口編程為輸出時(shí):。輸出緩沖區(qū)被啟用:
      在這里插入圖片描述

    -漏極模式:輸出寄存器中的“O”激活N-MOS,而“1”激活N-MOS
    在輸出寄存器中離開(kāi)Hi-Z端口(P-MOS從未激活)
    推挽模式:輸出寄存器中的“O”激活N-MOS,而輸出寄存器中的“1”激活P-MoS
    施密特觸發(fā)器輸入被激活
    弱上拉和下拉電阻是否激活取決于GPIOx_PUPDR寄存器中的值
    l/O引腳上的數(shù)據(jù)在每個(gè)AHB1時(shí)鐘周期中被采樣到輸入數(shù)據(jù)寄存器中
    對(duì)輸入數(shù)據(jù)寄存器的讀訪問(wèn)獲得I/O狀態(tài)。
    對(duì)輸出數(shù)據(jù)寄存器的區(qū)域訪問(wèn)獲得最后寫(xiě)入的值。
    圖29顯示了IO端口位的輸出配置。
    原文:
    8.3.10 Output configuration
    When the I/O port is programmed as output:
    ? The output buffer is enabled:
    – Open drain mode: A “0” in the Output register activates the N-MOS whereas a “1”
    in the Output register leaves the port in Hi-Z (the P-MOS is never activated)
    – Push-pull mode: A “0” in the Output register activates the N-MOS whereas a “1” in
    the Output register activates the P-MOS
    ? The Schmitt trigger input is activated
    ? The weak pull-up and pull-down resistors are activated or not depending on the value
    in the GPIOx_PUPDR register
    ? The data present on the I/O pin are sampled into the input data register every AHB1
    clock cycle
    ? A read access to the input data register gets the I/O state
    ? A read access to the output data register gets the last written value
    Figure 29 shows the output configuration of the I/O port bit.

Tip1:如何訪問(wèn)外設(shè)的寄存器

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2 STM32F407中操作GPIO的方法

  • 輸出的配置
  • 高低電平的配置

通過(guò)直接操作寄存器實(shí)現(xiàn)點(diǎn)燈實(shí)驗(yàn)

  • 實(shí)驗(yàn)的需求分析(實(shí)驗(yàn)?zāi)康?
    • 學(xué)會(huì)基本的硬件操作—I/O的輸出高低電平
    • 操作學(xué)習(xí)利用系統(tǒng)時(shí)鐘實(shí)現(xiàn)較為精確的延時(shí)
    • 學(xué)習(xí)規(guī)范的模塊化編程
    • 學(xué)會(huì)使用CMSIS的支持庫(kù)
  • 通過(guò)直接操作寄存器實(shí)現(xiàn)點(diǎn)燈代碼
  • 代碼下載及調(diào)試演示
    1程序流程分析
    • 如何利用系統(tǒng)時(shí)鐘實(shí)現(xiàn)較為精確的延時(shí)
      9.5SysTick 定時(shí)器
      9.5.1 為什么要有SysTick 定時(shí)器
      Cortex-M處理器內(nèi)集成了一個(gè)小型的名為SysTick(系統(tǒng)節(jié)拍)的定時(shí)器,它屬于NVIC的一部分,且可以產(chǎn)生SysTick 異常(異常類(lèi)型#15)。SysTick 為簡(jiǎn)單的向下計(jì)數(shù)的24位計(jì)數(shù)器,可以使用處理器時(shí)鐘或外部參考時(shí)鐘(通常是片上時(shí)鐘源)。
      在現(xiàn)代操作系統(tǒng)中,需要一個(gè)周期性的中斷來(lái)定期觸發(fā)OS內(nèi)核,如用于任務(wù)管理和上下文切換,處理器也可以在不同時(shí)間片內(nèi)處理不同任務(wù)。處理器設(shè)計(jì)還需要確保運(yùn)行在非特權(quán)等級(jí)的應(yīng)用任務(wù)無(wú)法禁止該定時(shí)器,否則任務(wù)可能會(huì)禁止SysTick 定時(shí)器并鎖定整個(gè)系統(tǒng)。
      之所以在處理器內(nèi)增加一個(gè)定時(shí)器,是為了提高軟件的可移植性。由于所有的Cortex-M處理器都具有相同的SysTick定時(shí)器,為一種Cortex-M3/M4微控制器實(shí)現(xiàn)的OS也能適用于其他的Cortex-M3/M4微控制器。
      若應(yīng)用中不需要使用OS,SysTick定時(shí)器可用作簡(jiǎn)單的定時(shí)器外設(shè)﹐用以產(chǎn)生周期性中斷、延時(shí)或時(shí)間測(cè)量。
      9.5.2SysTick定時(shí)器操作

      在這里插入圖片描述
      如表9.6所示,SysTick定時(shí)器中存在4個(gè)寄存器。CMSIS-Core頭文件中定義了一個(gè)名為SysTick的結(jié)構(gòu)體,方便對(duì)這些寄存器的訪問(wèn)。
      在這里插入圖片描述
      在這里插入圖片描述
      在這里插入圖片描述

      SysTick內(nèi)部包含一個(gè)24位向下計(jì)數(shù)器,如圖9.15所示。它會(huì)根據(jù)處理器時(shí)鐘或一個(gè)參考時(shí)鐘信號(hào)(在ARM Cortex-M3或Cortex-M4 技術(shù)參考手冊(cè)中也被稱(chēng)作STCLK)來(lái)減小計(jì)數(shù)。參考時(shí)鐘信號(hào)取決于微控制器的實(shí)際設(shè)計(jì),有些情況下﹐它可能會(huì)不存在。由于要檢測(cè)上升沿,參考時(shí)鐘至少得比處理器時(shí)鐘慢兩倍。
      在設(shè)置控制和狀態(tài)寄存器的第О位使能該計(jì)數(shù)器后,當(dāng)前值寄存器在每個(gè)處理器時(shí)鐘周期或參考時(shí)鐘的上升沿都會(huì)減小。若計(jì)數(shù)減至0,它會(huì)從重加載寄存器中加載數(shù)值并繼續(xù)運(yùn)行。
      另外一個(gè)寄存器為SysTick校準(zhǔn)值寄存器。它為軟件提供了校準(zhǔn)信息。由于CMSIS-Core提供了一個(gè)名為SystemCoreClock 的軟件變量(CMSIS 1.2 及之后版本可用,CMSIS 1.1或之前版本則使用變量SystemFrequency) ,因此它就未使用SysTick校準(zhǔn)值寄存器。系統(tǒng)初始
      化函數(shù)SystemInit()函數(shù)設(shè)置了該變量,而且每次系統(tǒng)時(shí)鐘配置改變時(shí)都要對(duì)其進(jìn)行更新。這種軟件手段比利用SysTick校準(zhǔn)值寄存器的硬件方式更靈活。
      SysTick寄存器的細(xì)節(jié)如表9.7~表9.10所示。
      9.5.3使用 SysTick定時(shí)器
      若只想產(chǎn)生周期性的SysTick中斷,最簡(jiǎn)單的方法就是使用CMSIS-Core函數(shù) SysTick_Config :
      uint32_t SysTick_Conf ig(uint32_t ticks) ;
      該函數(shù)將SysTick 中斷間隔設(shè)置為ticks,使能計(jì)數(shù)器使用處理器時(shí)鐘,然后設(shè)置SysTick異常為最低優(yōu)先級(jí)。
      例如,若要在30MHz的時(shí)鐘頻率下產(chǎn)生1kHz的SysTick異常,則可以使用:SysTick_Config(SystemCoreClock / 1000) ;
      變量SystemCoreClock應(yīng)該存放正確的時(shí)鐘頻率數(shù)值,也就是30×10°。另外,只需使用:
      SysTick_Config( 30000) ;
      //30MHz / 1000 = 30000
      SysTick_Handler( void)的觸發(fā)頻率就變成了1kHz。
      若SysTick_Config 函數(shù)的輸入?yún)?shù)不滿(mǎn)足24位重加載數(shù)值寄存器(大于0xFFFFFF),SysTick_Config函數(shù)返回1,否則會(huì)返回0。
      許多情況下,可能會(huì)使用參考時(shí)鐘或者不想使能SysTick 中斷,那么就不要使用SysTick_Config 函數(shù)。此時(shí)需要直接操作 SysTick寄存器,推薦使用下面的流程:
      (1)將0寫(xiě)人 SysTick->CTRL禁止 SysTick定時(shí)器。這個(gè)操作是可選的。若重用了其他代碼,則由于SysTick之前可能已經(jīng)使能過(guò)了,因此本操作是推薦使用的。
      (2)將新的重加載值寫(xiě)入SysTick->LOAD,重加載值應(yīng)該為周期數(shù)減1。
      (3)將任何數(shù)值寫(xiě)人SysTick當(dāng)前值寄存器SysTick->VAL,該寄存器會(huì)被清零
      (4)寫(xiě)入 SysTick控制和狀態(tài)寄存器SysTick->CTRL啟動(dòng)SysTick定時(shí)器。
      由于SysTick定時(shí)器向下計(jì)數(shù)到0,因此,若要設(shè)置SysTick周期為1000,則應(yīng)該將重加載值(SysTick->LOAD)設(shè)置為999。
      若要在輪詢(xún)模式中使用SysTick定時(shí)器,則可以利用SysTick 控制和狀態(tài)寄存器(SysTick->CTRL)中的計(jì)數(shù)標(biāo)志來(lái)確定定時(shí)器何時(shí)變?yōu)?。例如,可以將SysTick定時(shí)器設(shè)置為特定數(shù)值,然后等它變?yōu)?,并以此實(shí)現(xiàn)延時(shí):
      SysTick-> CTRL = 0;
      /禁止SysTick
      SysTick - > LOAD = OxFF;
      //計(jì)數(shù)范圍255~0 (256個(gè)周期)
      SysTick-> VAL = 0 ;
      //清除當(dāng)前值和計(jì)數(shù)標(biāo)志
      SysTick- > CTRL = 5;
      //使能SysTick定時(shí)器并使用處理器時(shí)鐘 5的二進(jìn)制是0101
      while ( (SysTick - >CTRL & Ox00010000) == 0);//等待計(jì)數(shù)標(biāo)志置位
      SysTick - > CTRL= 0 ;
      /!禁止 SysTick
      若要將SysTick中斷用作在一定時(shí)間后觸發(fā)的單發(fā)操作,則可以將重加載值減小12個(gè)周期,以補(bǔ)償中斷等待時(shí)間。例如,要使SysTick定時(shí)器在300個(gè)時(shí)鐘周期后執(zhí)行:
      volatile int SysTickFired;
      1/全局軟件標(biāo)志,表示 SysTickAlarm已執(zhí)行

      SysTick-> CTRL= 0 ;
      /禁止 SysTick
      SysTick -> LOAD = (300-12);
      //設(shè)置重加載值,由于異常等待減去12
      SysTick - > VAL=0;
      //將當(dāng)前值清為0
      SysTickFired = 0;
      //將軟件標(biāo)志設(shè)為0
      SysTick - > CTRL= 0x7;
      1/使能SysTick,使能 SysTick異常且使用處理器時(shí)鐘 0x7=0111
      while (SysTickFired == 0 );
      1/等待SysTick處理將軟件標(biāo)志置位
      在單發(fā)SysTick處理中﹐需要禁止SysTick,以防SysTick 異常再次產(chǎn)生。若由于所需的處理任務(wù)花費(fèi)的時(shí)間太長(zhǎng)而導(dǎo)致掛起狀態(tài)再次置位﹐則可能還需要清除SysTick 的掛起狀態(tài):
      void SysTick_Handler(void)
      // SYSTICK異常處理
      {
      SysTick ->CTRL = Ox0 ;
      /1禁止SysTick
      …;
      //執(zhí)行所需任務(wù)
      SCB->ICSR | = 1 <<25;
      //清除SYSTICK掛起位,防止再次掛起
      sysTickFired++ ;
      //更新軟件標(biāo)志,主程序據(jù)此可以知道SysTick
      定時(shí)任
      務(wù)已執(zhí)行
      return;
      若同時(shí)產(chǎn)生了另一個(gè)異常,則 SysTick異??赡軙?huì)延遲。
      SysTick 定時(shí)器可用于時(shí)間測(cè)量。例如,可以用下面的代碼測(cè)量一個(gè)短函數(shù)的持續(xù)時(shí)間:
      unsigned int start_time,stop_time,cycle_count;
      SysTick - > CTRL= 0 ;
      /I/禁止SysTick
      SysTick - > LOAD =0xFFFFFFFF;
      //將重加載值設(shè)置為最大
      SysTick -> VAL= 0 ;
      //將當(dāng)前值清為0
      SysTick ->CTRL= 0x5;
      /1使能SysTick,使用處理器時(shí)鐘
      while(SysTick- > VAL != 0);
      //等待SysTick重加載
      start_time = SysTick - > VAL;
      //獲取開(kāi)始時(shí)間
      function();
      //執(zhí)行要測(cè)量的函數(shù)
      stop_time =SysTick- > VAL;
      1/獲取停止時(shí)間
      由于SysTick定時(shí)器向下計(jì)數(shù), start_time的數(shù)值比 stop_time要大??赡苓€需要在時(shí)間
      測(cè)量的結(jié)尾檢查一下count_flag。若count_tlag 置位時(shí)測(cè)則風(fēng)的NE大了 A舊 t六敝還要能SysTick異常且在SysTick處理中計(jì)算SyslicK T效奮恤出的認(rèn)效。nW川心歡u一考慮SysTick 異常。
      SysTick定時(shí)器還提供了一個(gè)校準(zhǔn)值寄存器。若該信息存在,則SysTick->CALIB寄存
      器的最低24位表示要得到10ms SysTick間隔所需的重加載值。個(gè)過(guò),計(jì)多似丘潤(rùn)’P開(kāi)僅有這個(gè)信息,TENMS位域讀出為0。CMSIS-Core方案則提供」一個(gè)表水頻平信忌的隊(duì)什受量,這種方式更加靈活且得到了多數(shù)微控制器供應(yīng)商的支持。
      可以利用 SysTick校準(zhǔn)值寄存器的第31位確定參考時(shí)鐘是否存在。9.5.4其他考慮
      在使用SysTick定時(shí)器時(shí)需要考慮以下幾點(diǎn):
      . SysTick定時(shí)器中的寄存器只能在特權(quán)狀態(tài)下訪問(wèn)。·參考時(shí)鐘在一些微控制器設(shè)計(jì)中可能會(huì)不存在。
      ·若應(yīng)用中存在嵌入式OS,SysTick定時(shí)器會(huì)被OS使用,因此就不能冉放應(yīng)用在方使用了。
      ·當(dāng)處理器在調(diào)試期間暫停時(shí),SysTick定時(shí)器會(huì)停止計(jì)數(shù)。
      ·根據(jù)微控制器的實(shí)際設(shè)計(jì),SysTick定時(shí)器可能會(huì)在某些休眠模式中停止計(jì)數(shù)。

/初始化延遲函數(shù)
//當(dāng)使用uoo=的時(shí)候,此函數(shù)會(huì)初始化uco=的時(shí)鐘節(jié)拍7/SYSTICK的時(shí)鐘固定為AHB時(shí)鐘的1/8
//sYSCLK:系統(tǒng)時(shí)鐘頻率
void delay_init (u8 sYSCLK)
{
SysTick->CTRL&=~(1<<2);//SYSTICR使用外部時(shí)鐘源 只操作了第2位
fac_us=SYSCLK/8;//每個(gè)us需要的systick時(shí)鐘數(shù)
fac_ms= (u16) fac_us*1000;//每個(gè)ns需要的systick時(shí)鐘數(shù)
}
  • 如何初始化I/O

Tip1:硬件編程的基本流程

1、初始化硬件:總線始終初始化,申請(qǐng)區(qū)域存放寄存器,配置IO的輸出形式,設(shè)置IOspeed,是否需要AF(第2功能)

2代碼實(shí)現(xiàn)及分析

#include "sys tick.h"
#include "led.h"#define SYS_MAX_CLK 168int main(void)
{Led_init();//初始化LED0delay_init(SYS_MAX_CLK);//初始化系統(tǒng)時(shí)鐘while(1){LED0_ON;//點(diǎn)亮LED0delay_ms(1000);//延時(shí)1sLED0_OFF;//關(guān)閉leddelay_ms(1000);//延時(shí)1s}
}

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

http://m.risenshineclean.com/news/65038.html

相關(guān)文章:

  • 哈爾濱做網(wǎng)站哈爾濱學(xué)院seovip培訓(xùn)
  • icp備案網(wǎng)站接入信息 ip地址段怎么創(chuàng)建個(gè)人網(wǎng)站
  • wordpress commentseo優(yōu)化人員
  • 深圳網(wǎng)站開(kāi)發(fā)哪家服務(wù)專(zhuān)業(yè)怎么申請(qǐng)網(wǎng)站
  • 網(wǎng)站后臺(tái)用什么做優(yōu)化流程
  • 臨沂網(wǎng)站開(kāi)發(fā)如何優(yōu)化企業(yè)網(wǎng)站
  • 東軟 網(wǎng)站群平臺(tái)建設(shè)怎么利用互聯(lián)網(wǎng)推廣
  • 專(zhuān)門(mén)做網(wǎng)站代購(gòu)的盈利路子郴州seo
  • 武漢市有做網(wǎng)站的嗎營(yíng)業(yè)推廣策劃方案
  • 電商網(wǎng)站有哪些功能模塊bt磁力bt天堂
  • 怎么制作一個(gè)app應(yīng)用佛山做seo推廣公司
  • 門(mén)戶(hù)網(wǎng)站cmssem競(jìng)價(jià)代運(yùn)營(yíng)
  • 移動(dòng)網(wǎng)站建設(shè)方面廊坊百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站開(kāi)發(fā)怎樣建立后臺(tái)數(shù)據(jù)推廣產(chǎn)品的軟文怎么寫(xiě)
  • 怎么搭建釣魚(yú)網(wǎng)站百度指數(shù)第一
  • 門(mén)戶(hù)網(wǎng)站如何運(yùn)營(yíng)百度電商推廣
  • 哪個(gè)網(wǎng)站做攻略比較好seo 網(wǎng)站優(yōu)化推廣排名教程
  • 新人做網(wǎng)站不懂設(shè)計(jì)版面怎么辦西安seo培訓(xùn)
  • 裝修公司網(wǎng)站dede模板seo網(wǎng)站優(yōu)化專(zhuān)家
  • 做海報(bào)賺錢(qián)的網(wǎng)站搜索引擎優(yōu)化指的是什么
  • 商丘做微信網(wǎng)站sqwyy如何優(yōu)化網(wǎng)絡(luò)延遲
  • php網(wǎng)站建設(shè)的幾個(gè)流程公司seo排名優(yōu)化
  • wordpress 主題翻譯優(yōu)化大師優(yōu)化項(xiàng)目有哪些
  • win7iis部署asp.net網(wǎng)站國(guó)家再就業(yè)免費(fèi)培訓(xùn)網(wǎng)
  • 廣東湛江怎么做網(wǎng)站教程百度營(yíng)銷(xiāo)推廣
  • 上海網(wǎng)站建設(shè)哪個(gè)平臺(tái)好百度推廣怎么優(yōu)化
  • 做啊網(wǎng)站寧德市自然資源局
  • 西安大型網(wǎng)站建設(shè)公司昆山seo網(wǎng)站優(yōu)化軟件
  • 網(wǎng)站如果不備案如何檢測(cè)網(wǎng)站是否安全
  • 成都網(wǎng)站品牌設(shè)計(jì)北京百度公司地址在哪里