在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【GD32F470紫藤派開發板使用手冊】第八講 ADC-規則組多通道采樣實驗

聚沃科技 ? 2024-05-12 10:00 ? 次閱讀
wKgaomYwSqiAY_PQAAnl063z3JE116.png

8.1實驗內容

通過本實驗主要學習以下內容:

8.2實驗原理

8.2.1ADC原理

我們知道,自然界中有非常多的模擬信號,比如光照強度,還有其他的例如溫度、聲音等等,那么人們是怎么來衡量一個模擬信號的呢?

我們通常會說今天光照度達到了3萬Lux(照度單位),現在測量到的體溫是36.5℃,我們所處的環境是40分貝,沒錯,人們就是通過將這些模擬信號數字化,從而達到衡量這些模擬信號的目的。那對于MCU來說,如果要測量一個模擬量,可以通過自帶的ADC(Analog-to-Digital converters)模塊,即模-數轉換器將模擬量轉化為可以被MCU讀取到的數字量。

8.2.2GD32F470 ADC工作原理

GD32F470有3個12位逐次逼近型ADC(SAR ADC),這三個ADC可以獨立工作,也可以工作在同步模式下。有最多24個外部ADC引腳可用于將連接到這些引腳的電壓值轉換為數字量,這些引腳號可以通過Datasheet獲得。

wKgaomZAIVmARwItAAEDvz4ApIM664.png

表中ADC012_INx的意思是:該IO口可以作為通道x用于ADC0、ADC1和ADC2。如ADC012_IN0,表示PA0可以用于ADC0的通道0使用,也可以作為ADC1和ADC2的通道0使用。但要注意:不能在同一個時刻讓不同的ADC去轉換同一個通道,否則會有無法預料的結果

以下總結了GD32F470 ADC的特性:

  • 高性能:

– ADC采樣分辨率:12位、10位、8位、或者6位分辨率;

– ADC采樣率:12位分辨率為2.6 MSPs,10位分辨率為3.0 MSPs。分辨率越低,轉換越快;

–自校準時間:131個ADC時鐘周期;

–可編程采樣時間;

–數據存儲模式:最高有效位對齊和最低有效位對齊;

– DMA請求。

  • 模擬輸入通道:

– 16個外部模擬輸入通道;

– 1個內部溫度傳感通道(VSENSE);

– 1個內部參考電壓輸入通道(VREFINT);

– 1個外部監測電池VBAT供電引腳輸入通道。

  • 轉換開始的發起:

–軟件觸發;

–硬件觸發。

  • 運行模式:

–轉換單個通道,或者掃描一序列的通道;

–單次運行模式,每次觸發轉換一次選擇的輸入通道;

–連續運行模式,連續轉換所選擇的輸入通道;

–間斷運行模式;

–同步模式(適用于具有兩個或多個ADC的設備)。

  • 轉換結果閾值監測器功能: 模擬看門狗。
  • 中斷產生:

–常規轉換結束;

–模擬看門狗事件;

–溢出事件。

  • 過采樣:

– 16位的數據寄存器
–可調整的過采樣率,從2x到256x;
–高達8位的可編程數據移位。

  • ADC供電要求:
    – 2.4V到3.6V,一般供電電壓為3.3V。
  • ADC輸入范圍:VREFN ≤VIN ≤VREFP 。

下面介紹下GD32F470的ADC框圖:

wKgaomZAIXyAYoG5AAFSX577neA039.png

標注1:輸入電壓和參考電壓

輸入電壓引腳定義如下表:

wKgaomZAIY-AU-Z0AAFEKWA5sR8340.png

大于等于100pin的GD32F470,ADC參考電壓等于VREFP,100pin以下的GD32F470,ADC參考電壓等于VDDA

GD32F470的ADC是12bit有效位的,滿量程對應的轉換值是4095,即當采樣引腳上的電壓等于ADC參考電壓時,得到的轉換值即為4095。故理論采樣是指可通過以下公式得到:

wKgZomZAIaCAZZtvAAAFYUtB9V8222.png

標注2:輸入通道

前面提到,ADC有最多16個外部模擬通道和3個內部通道,外部通道號從IN0~IN15,由IO口號來決定,兩個內部通道是IN16(溫度傳感器)和IN17(內部Vrefint,典型值1.2V),下表給出了IO口號對應的ADC通道:

wKgaomZAIbKAFRS_AADTktEBH4w901.png

標注3:規則組

GD32F470的ADC轉換組稱為規則組,也叫常規序列。

規則組有兩個重要的參數,其一為轉換的個數,其二為轉換的序列,規定好這兩個參數后,一旦開始規則組的轉換,則ADC就按照轉換序列一個一個的進行模-數轉換,直到達到要求的轉換個數。

規則組的轉換個數由ADC_RSQ0寄存器的RL[3:0]位規定,轉換的總數目為RL[3:0]+1,轉換總數目最大為16個;轉換序列由ADC_RSQ0~ADC_RSQ2共同決定,我們來看下這幾個寄存器。

ADC_RSQ0寄存器:

wKgZomZAIcKAJZyRAAA38c3g2hs770.png

ADC_RSQ1寄存器:

wKgaomZAIdWAZsAvAABgZEY1Sss974.png

ADC_RSQ2寄存器:

wKgZomZAIeKAVJF7AABcB9r0jug096.png

舉個例子,現需要按照CH3->CH2->CH1的順序進行規則組轉換,則設定RL[3:0] = 2,然后設定RSQ0為CH3,RSQ1為CH2,RSQ2為CH1,則當開始規則組轉換時,ADC首先進行RSQ0規定的通道即CH3的轉換,再進行RSQ1規定的通道即CH2的轉換,最后進行RSQ2規定的通道即CH1轉換,當這三個通道轉換完后,規則組轉換結束。

需要注意的是,每轉換一個規則組通道,轉換結果都會放在寄存器ADC_RDATA中,所以CPU一定要在下一個通道轉換完成前將上一個通道轉換結果讀走,否則會導致上一個通道數據被新的數據覆蓋。所以在多通道規則組轉換時,為了保證能讀到所有通道的數據,一定要使用DMA(直接存儲器訪問控制器),每個通道轉換結束后,都會給DMA發送請求,DMA就會將最新的ADC_RDATA中的數據搬走。關于ADC配合DMA的使用,后面會詳細介紹。

標注4:觸發源

ADC的規則組需要選特定的觸發源用于觸發ADC轉換,注意,ADC的Enable(即ADC_CTL1寄存器的ADC_ON位置“1”)不會觸發ADC轉換,而是當選定的觸發源來臨后ADC才開始轉換。

觸發源分為內部觸發和外部觸發,內部觸發是指軟件觸發;外部觸發源是除了內部觸發源以外的觸發源,外部觸發源可以通過ADC_CTL1寄存器查看:

ADC_CTL1寄存器:

wKgaomZAIfqAG0qdAABYixbk8e8960.pngwKgZomZAIgCAbeBPAAFe32mD9D0677.png

標注5:規則組數據寄存器

如標注3規則組的表述,每個ADC的規則組只有一個數據寄存器ADC_RDATA,每轉換一個通道,轉換結果放在這個寄存器中,在下一通道轉換結束前必須要將上一個通道的轉換結果取走。

標注6:ADC中斷及標志位

ADC的中斷總共有兩種:規則組轉換結束中斷以及模擬看門狗,可以通過將ADC_CTL0中的EOCIE和WDEIE置“1”來開啟相應中斷。

ADC_STAT寄存器中的EOC和WDE表示相應事件發生,EOC置“1”表示規則組的轉換已經結束。

8.2.3DMA原理

本實驗中ADC通道有兩個,分別為PF7和PF10,所以我們用規則組多通道采樣實現雙電壓讀取,從上一節內容中可以知道,ADC規則組實現多通道轉換時,必須要用到DMA。下面我們介紹下DMA原理。

DMA(直接存儲器訪問控制器)是一個非常好用的外設,它提供了一種硬件的方式在外設和存儲器之間或者存儲器和存儲器之間傳輸數據,而無需CPU的介入,從而使CPU可以專注在處理其他系統功能上。GD32F470有兩個DMA,其中DMA0有8個通道,DMA1也有8個通道。

GD32F470支持DMA的單一傳輸和多數據傳輸模式。這里只講解單一傳輸。DMA實現很簡單,只要配置好以下幾要素即可。

  1. 源地址和目標地址:DMA進行數據搬運過程為從源地址讀取到數據,再搬運到目標地址。本實驗中,需要把ADC轉換結果搬運到自定義的buffer中,所以源地址就要設置為ADCx_RDATA寄存器地址,目標地址為buffer地址。
  2. 源和目標的地址增量方式:地址增量方式有固定模式和增量模式兩種,固定模式是指進行一次DMA搬運后,下次搬運的源地址或目標地址保持不變;增量模式指進行一次DMA搬運后,下次搬運的源地址或目標地址會加1。本實驗中,源地址始終都應該為ADCx_RDATA地址,所以源地址增量方式需要設置為固定模式,而目標地址為自定義buffer,我們需要用buffer[0]存儲x軸數據,buffer[1]存儲y軸數據,所以目標地址增量方式需要設置為增量模式。
  3. DMA傳輸方向:DMA傳輸方向有三種,分別為外設地址->存儲器地址、存儲器地址->外設地址以及存儲器->存儲器。本實驗中源地址是外設地址,目標地址為自定義buffer地址即存儲器地址,故傳輸方向需設置為外設地址->存儲器地址。
  4. 源和目標數據位寬:源和目標數據位寬表示每次搬運的數據長度,可以設置為8bit、16bit和32bit。本實驗中ADC的數據只占用ADCx_RDATA寄存器的低半字即16bit,所以源和目標位寬選擇16bit即可。
  5. DMA傳輸個數和循環模式:傳輸個數表示一輪DMA傳輸可以搬運的次數。循環模式表示當一輪DMA傳輸結束后,是否直接進行下一輪搬運,當開啟循環模式后,當上一輪DMA傳輸結束后,源地址和目標地址會恢復到最開始的狀態。本實驗中,需要轉換2個通道ADC,故DMA傳輸個數設置為2,循環模式開啟。
  6. DMA通道優先級:DMA的每個通道都有一個軟件優先級,當DMA控制器在同一時間接收到多個外設請求時,仲裁器將根據外設請求的優先級來決定響應哪一個外設請求。優先級包括軟件優先級和硬件優先級,優先級規則如下:
    軟件優先級:分為4級,低,中,高和極高。可以通過寄存器DMA_CHxCTL的PRIO位域來配置。
    硬件優先級:當通道具有相同的軟件優先級時,編號低的通道優先級高。例:通道0和通道2配置為相同的軟件優先級時,通道0的優先級高于通道2。

上面描述了DMA配置的一些要素,那么DMA是如何被觸發的呢,我們來看下DMA請求映射表:

DMA0各通道請求表:

wKgZomZAIhOALHZYAAGGKVo7VoA769.png

DMA1各通道請求表:

wKgaomZAIh-ADnuLAADN4e4DnRg733.pngwKgZomZAIiWAJD0CAADEOZ9WUYw132.png

本實驗中是ADC配合DMA來使用,如果使用DMA去搬運ADC0的數據,從上表查詢得知需要使用DMA1的通道0,如果是搬運ADC2的數據,也可以用到DMA1的通道0。如現在設置DMA1的通道0去搬運ADC2的數據,當ADC2每轉換一個通道,ADC2_RDATA會更新一次數據,此時ADC2會自動向DMA1的通道0發出一次搬運請求,DMA收到請求后會進行一次數據搬運。DMA的請求和應答方式見下圖:

wKgaomZAIjCABX9vAAFNiQtq8RQ834.png

8.3硬件設計

本實驗是使用PF7和PF10來進行電壓采集,讀者可以采用飛線方式外接電壓到這兩個引腳進行測試。

8.4代碼解析

本實驗用到兩個ADC2通道,使用ADC2規則組搭配DMA1通道0進行數據轉換和搬運,ADC2規則組和DMA1通道0都開啟循環模式,一旦開始ADC2規則組轉換,會持續PF7和PF10上的電壓進行轉換和數據搬運。

8.4.1DMA和ADC初始化

在driver_adc.c中定義driver_adc_regular_ch_dma_config函數,該函數實現DMA和ADC的初始化。

C
void driver_adc_regular_ch_dma_config(typdef_adc_ch_general *ADC, typdef_adc_ch_parameter *ADC_CH,void *buffer)
{
dma_single_data_parameter_struct dma_single_data_parameter;
rcu_periph_clock_enable(ADC->dma_parameter.rcu_dma); /*DMA時鐘開啟*/
dma_deinit(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel); /*DMA通道參數復位*/
/*DMA源地址、目標地址、增量方式、傳輸位寬、傳輸方向、傳輸個數、優先級設置*/
dma_single_data_parameter.periph_addr = (uint32_t)(&ADC_RDATA(ADC->adc_port));
dma_single_data_parameter.periph_inc = DMA_PERIPH_INCREASE_DISABLE;
dma_single_data_parameter.memory0_addr = (uint32_t)(buffer);
dma_single_data_parameter.memory_inc = DMA_MEMORY_INCREASE_ENABLE;
if(ADC->adc_mode == ADC_DAUL_ROUTINE_PARALLEL)
{
dma_single_data_parameter.periph_memory_width = DMA_PERIPH_WIDTH_32BIT;
}
else
{
dma_single_data_parameter.periph_memory_width = DMA_PERIPH_WIDTH_16BIT;
}
dma_single_data_parameter.direction = DMA_PERIPH_TO_MEMORY;
dma_single_data_parameter.number = ADC->dma_parameter.dma_number;
dma_single_data_parameter.priority = ADC->dma_parameter.dma_priority;
dma_single_data_mode_init(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel, &dma_single_data_parameter);
dma_channel_subperipheral_select(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel,ADC->dma_parameter.dma_subperipheral_num);
/*DMA循環模式設置*/
if(ADC->dma_parameter.dma_circulation_mode == ENABLE)
{
dma_circulation_enable(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel);
}
else
{
dma_circulation_disable(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel);
}
dma_channel_enable(ADC->dma_parameter.dma_periph, ADC->dma_parameter.dma_channel); /* 使能DMA */
driver_adc_config(ADC,ADC_CH); /* ADC初始化 */
}

在driver_adc.h中聲明了ADC DMA的結構體:

C
typedef struct __typdef_adc_dma_parameter
{
rcu_periph_enum rcu_dma; //DMA時鐘
uint32_t dma_periph; //DMA號
dma_channel_enum dma_channel;//DMA通道號
dma_subperipheral_enum dma_subperipheral_num;//外設請求號
uint32_t dma_number; //DMA傳輸個數
uint32_t dma_priority; //DMA通道優先級
EventStatus dma_circulation_mode;//循環模式
}typdef_adc_dma_parameter;

這段代碼比較簡單,請讀者按照前面介紹的DMA原理進行解析。

8.4.2BSP_ADC設置所需要的參數及IO口結構體定義

在bsp_adc.c中,對BSP_ADC設置所需要的參數及IO擴結構體數組進行了定義:

C
typdef_adc_ch_general BSP_ADC= {
.rcu_adc = RCU_ADC2, /* ADC2的時鐘 */
.adc_psc = ADC_ADCCK_PCLK2_DIV8, /* ADC2設置為APB2 8分頻 */
.adc_port = ADC2, /* ADC口為ADC2 */
.adc_mode = ADC_SYNC_MODE_INDEPENDENT, /* ADC模式為獨立模式 */
.adc_channel_group = ADC_ROUTINE_CHANNEL, /* 使用規則組 */
.adc_scan_function = ENABLE, /* 開啟掃描模式 */
.adc_continuous_function = ENABLE, /* 開啟循環模式 */
.ch_count = 2, /* 轉換長度為2 */
.adc_external_trigger_mode = EXTERNAL_TRIGGER_DISABLE,
.dma_parameter =
{
.rcu_dma = RCU_DMA1, /* DMA1的時鐘 */
.dma_periph = DMA1, /* 使用DMA1 */
.dma_channel = DMA_CH0, /* 使用通道4 */
.dma_number = 2, /* DMA傳輸長度為2 */
.dma_subperipheral_num = DMA_SUBPERI2,
.dma_priority = DMA_PRIORITY_HIGH, /* DMA通道優先級 */
.dma_circulation_mode = ENABLE /* DMA循環模式打開 */
},
.trigger_source = ADC_EXTTRIG_ROUTINE_T0_CH0, /* ADC觸發源選擇為軟件觸發 */
.DMA_mode = ENABLE /* 使用DMA */
};

typdef_adc_ch_parameter BSP_ADC_ch[2] =
{
{
.rcu_port = RCU_GPIOF, /* GPIOF時鐘 */
.port = GPIOF, /* GPIO port */
.pin = GPIO_PIN_7, /* PF7 */
.gpio_speed = GPIO_OSPEED_2MHZ, /* PF7速度設置為10MHz */
.adc_channel = ADC_CHANNEL_5, /* PF7是ADC2的通道5 */
.sample_time = ADC_SAMPLETIME_144 /* 設置采樣周期為55.5 */
}
,
{
.rcu_port = RCU_GPIOF, /* GPIOF時鐘 */
.port = GPIOF, /* GPIO port */
.pin = GPIO_PIN_10, /* PF8 */
.gpio_speed = GPIO_OSPEED_2MHZ, /* PF8速度設置為10MHz */
.adc_channel = ADC_CHANNEL_8, /* PF8是ADC2的通道10 */
.sample_time = ADC_SAMPLETIME_144 /* 設置采樣周期為55.5 */
}
};/* ADC通道參數配置,包括IO口,和對應通道以及采樣周期 */

8.4.3BSP_ ADC初始化和觸發ADC轉換的具體實現函數

在bsp_adc.c中定義了DMA和ADC初始化和觸發ADC轉換的函數:

C
uint16_t BSP_ADC_data[2] ;
void bsp_ADC_config()
{
driver_adc_regular_ch_dma_config(&BSP_ADC,BSP_ADC_ch,(uint16_t*)BSP_ADC_data);
driver_adc_software_trigger_enable(&BSP_ADC);
}

8.4.4main函數實現

C
int main(void)
{
driver_init();//延時函數初始化
bsp_uart_init(&BOARD_UART);//BOARD_UART串口初始化
bsp_ADC_config();//ADC配置
while (1)
{
delay_ms(100);//延時100ms
printf_log(" the BSP_ADC data is %d,%d \r\n", BSP_ADC_data[0],BSP_ADC_data[1]);//打印ADC數據
}
}

本例程main函數首先進行了延時函數初始化,為了演示實驗結果,這里初始化了BOARD_UART串口,關于串口的使用,請讀者參考串口章節,然后是BSP_ADC配置。在主循環中,每100ms打印一次PF7和PF10的ADC轉換數據。

8.5實驗結果

如上main函數實現說明。

教程GD32 MCU方案商聚沃科技原創發布,了解更多GD32 MCU教程,關注聚沃科技官網

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98195
  • GD32
    +關注

    關注

    7

    文章

    413

    瀏覽量

    24470
收藏 人收藏

    評論

    相關推薦

    GD32F470紫藤開發板使用手冊】第九 USART-printf打印實驗

    通過本實驗主要學習以下內容: 串口簡介 GD32F470串口工作原理 使用printf打印信息
    的頭像 發表于 05-13 10:14 ?1866次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第九<b class='flag-5'>講</b>  USART-printf打印<b class='flag-5'>實驗</b>

    GD32F470紫藤開發板使用手冊】第十一講 SPI-SPI NOR FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI簡介 ?GD32F470 SPI簡介 ?SPI NOR FLASH——GD25Q32ESIGR簡介 ?使用GD32F470 SPI接口實現對
    的頭像 發表于 05-17 09:57 ?1940次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十一講 SPI-SPI NOR FLASH讀寫<b class='flag-5'>實驗</b>

    使用GD32F470編譯drv_adc.c時報錯怎么解決?

    使用GD32F470芯片,編譯drv_adc.c時報錯好幾個編譯錯誤,可能是適配GD32F470芯片沒有適配好。 編譯問題如下圖:
    發表于 02-23 06:55

    基于GD32F310開發板的AD通道交流采樣計算

    1、基于GD32F310開發板的AD通道交流采樣計算  很幸運能夠有機會試用兆易公司的GD32F
    發表于 09-30 14:29

    YL-51開發板使用手冊

    YL-51開發板使用手冊,YL-51開發板使用手冊YL-51開發板使用手冊YL-51
    發表于 05-10 16:31 ?21次下載

    51開發板使用手冊

    51開發板使用手冊,感興趣的小伙伴們可以瞧一瞧。
    發表于 11-23 15:45 ?11次下載

    KC705開發板英文使用手冊

    KC705開發板英文使用手冊
    發表于 11-01 10:19 ?5次下載

    GD32 ADC規則通道采樣,數據發生錯位?

    我們知道,使用ADC規則(常規通道采樣時,必
    的頭像 發表于 03-14 09:58 ?2269次閱讀
    <b class='flag-5'>GD</b>32 <b class='flag-5'>ADC</b><b class='flag-5'>規則</b><b class='flag-5'>組</b><b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>采樣</b>,數據發生錯位?

    APT32F102 開發板使用手冊

    電子發燒友網站提供《APT32F102 開發板使用手冊.pdf》資料免費下載
    發表于 04-16 09:07 ?0次下載

    GD32F470紫藤開發板使用手冊】第二 GPIO-按鍵查詢實驗

    通過本實驗主要學習以下內容: GPIO輸入功能原理; 按鍵查詢輸入檢測原理;
    的頭像 發表于 04-30 11:39 ?836次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第二<b class='flag-5'>講</b> GPIO-按鍵查詢<b class='flag-5'>實驗</b>

    GD32F470紫藤開發板使用手冊】第五 PMU-低功耗實驗

    通過本實驗主要學習以下內容: PMU原理; 低功耗的進入以及退出操作
    的頭像 發表于 05-07 09:29 ?800次閱讀
    【<b class='flag-5'>GD32F470</b><b class='flag-5'>紫藤</b><b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第五<b class='flag-5'>講</b>  PMU-低功耗<b class='flag-5'>實驗</b>

    GD32H757Z海棠開發板使用手冊第八 ADC-規則通道采樣實驗

    通過本實驗主要學習以下內容: ADC的簡介 GD32FH757 ADC工作原理 DMA和DMAMUX的原理 規則
    的頭像 發表于 05-14 09:39 ?751次閱讀
    【<b class='flag-5'>GD</b>32H757Z海棠<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】<b class='flag-5'>第八</b><b class='flag-5'>講</b> <b class='flag-5'>ADC-</b><b class='flag-5'>規則</b><b class='flag-5'>組</b><b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>采樣</b><b class='flag-5'>實驗</b>

    GD32F303紅楓開發板使用手冊】第十二 ADC-雙軸按鍵搖桿通道循環采樣實驗

    實驗是通過ADC規則通道循環采樣方式實現雙軸按
    的頭像 發表于 06-11 09:40 ?714次閱讀
    【<b class='flag-5'>GD32F</b>303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十二<b class='flag-5'>講</b>   <b class='flag-5'>ADC-</b>雙軸按鍵搖桿<b class='flag-5'>多</b><b class='flag-5'>通道</b>循環<b class='flag-5'>采樣</b><b class='flag-5'>實驗</b>

    GD32F303紅楓開發板使用手冊】第十三講 ADC-內部溫度傳感器和參考電壓采樣實驗

    實驗是通過ADC注入采樣內部溫度傳感器和參考電壓,通過本實驗主要學習以下內容: ?內部溫度傳感器和參考電壓簡介 ?
    的頭像 發表于 06-12 09:47 ?843次閱讀
    【<b class='flag-5'>GD32F</b>303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第十三講 <b class='flag-5'>ADC-</b>內部溫度傳感器和參考電壓<b class='flag-5'>采樣</b><b class='flag-5'>實驗</b>

    GD32F303紅楓開發板使用手冊】第二十 SPI-SPI NAND FLASH讀寫實驗

    通過本實驗主要學習以下內容: ?SPI通信協議,參考19.2.1東方紅開發板使用手冊 ?GD32F303 SPI操作方式,參考19.2.2東方紅
    的頭像 發表于 06-20 09:50 ?1074次閱讀
    【<b class='flag-5'>GD32F</b>303紅楓<b class='flag-5'>派</b><b class='flag-5'>開發板</b><b class='flag-5'>使用手冊</b>】第二十<b class='flag-5'>講</b> SPI-SPI NAND FLASH讀寫<b class='flag-5'>實驗</b>
    主站蜘蛛池模板: 天天操精品视频 | 久操青青| 亚洲欧美高清在线 | 精品一精品国产一级毛片 | 色综合色综合色综合色综合 | 狠狠色96视频 | 天天操夜夜干 | 2021国产精品成人免费视频 | 国产精品美女免费视频观看 | 午夜精品久久久久久91 | 永久在线 | 日韩伦| 全午夜免费一级毛片 | 末发育女一区二区三区 | 性 色 黄 一级 | 久久久久久免费观看 | 成人a毛片高清视频 | 丁香婷婷在线 | 日产精品卡二卡三卡四卡无卡乱码 | 亚洲毛片网站 | 天堂视频免费 | 在线观看免费午夜大片 | 性欧美成人免费观看视 | 免费色在线| 国产精品自在线天天看片 | 久久精品午夜视频 | 1024你懂的国产精品 | 在线精品国产成人综合第一页 | 看久久 | 九九人人 | 亚洲 午夜在线一区 | 天天干夜夜叭 | xxxx日本在线播放免费不卡 | 女人又色又爽又黄 | 成年人电影黄色 | 8x8x极品国产在线 | 99久热成人精品视频 | 天天尻 | 日韩欧美一区二区三区不卡视频 | 91成人免费在线视频 | 免费看日本黄色片 |