0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【GD32F303紅楓派開發(fā)板使用手冊(cè)】第二十五講 EXMC-外部SRAM讀寫實(shí)驗(yàn)

聚沃科技 ? 2024-06-25 09:39 ? 次閱讀
wKgaomZVdiiAfR9BAB3mDFhHnZc972.png

25.1實(shí)驗(yàn)內(nèi)容

通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容:

  • EXMC外設(shè)原理和配置
  • EXMC NOR/SRAM模式介紹
  • 外部SRAM接口時(shí)序和操作方式

25.2實(shí)驗(yàn)原理

MCU的片內(nèi)SRAM空間有限,在做一些大量數(shù)據(jù)處理、GUI顯示等應(yīng)用中片內(nèi)SRAM容量無法滿足應(yīng)用需求,而外部SRAM器件讀寫速度快,不需要自刷新,工作穩(wěn)定,是性能最優(yōu)的外擴(kuò)RAM選擇之一。MCU通過EXMC接口可以實(shí)現(xiàn)外部SRAM的接口通信協(xié)議,同時(shí)可映射到內(nèi)部地址實(shí)現(xiàn)和內(nèi)部ram相同的操作方式。

25.2.1EXMC外設(shè)原理

EXMC是MCU的外部存儲(chǔ)控制器,可以配置實(shí)現(xiàn)各類片外設(shè)備的通信協(xié)議,包括SRAM、PSRAM、NOR FLASH、NAND FLASH等,也可以通過配置實(shí)現(xiàn)一些其他通信協(xié)議,如8080接口的LCD驅(qū)動(dòng)、FPGA通信等,可靈活的實(shí)現(xiàn)很多異步同步信號(hào)輸入輸出,時(shí)序時(shí)間可配置。更重要的是EXMC可通過地址映射方式實(shí)現(xiàn)MCU內(nèi)部總線協(xié)議到外部器件通信的轉(zhuǎn)換,實(shí)現(xiàn)高效的數(shù)據(jù)讀取和輸出能力。

  • EXMC系統(tǒng)架構(gòu)如下圖所示,外部SRAM使用NOR-Flash/PSRAM控制器實(shí)現(xiàn)通信協(xié)議,使用NWE、NOE、EXMC_Dx、EXMC_Ax、EXMC_NBLx、EXMC_NEx引腳和SRAM器件進(jìn)行連接。
wKgaomZ6HlSAbHJ3AAEo_6A5HHE738.png

EXMC根據(jù)不同存儲(chǔ)器類型,對(duì)應(yīng)有4個(gè)BANK,每個(gè)BANK各256MB占用了不同地址空間。訪問對(duì)應(yīng)BANK區(qū)的地址時(shí)EXMC會(huì)自動(dòng)按對(duì)應(yīng)改區(qū)存儲(chǔ)類型的時(shí)序和配置進(jìn)行通信。

wKgaomZ6HmOAdwJ8AAD2ZGB1kAo603.png

25.2.2EXMC NOR/SRAM模式介紹

如SRAM/NOR類型對(duì)應(yīng)區(qū)域?yàn)锽ANK0總計(jì)256MB空間。而BANK0其中有分了4個(gè)Regions各64MB,每個(gè)Regions分別對(duì)應(yīng)NE0——NE4引腳連接的器件,可以連接4個(gè)64MB SRAM就可以組成256MB的連續(xù)SRAM地址空間,也可以連接4個(gè)NOR或者2個(gè)NOR和2個(gè)SRAM的組合方式。

wKgaomZ6HnyAQYtRAADkr7I4fUE388.png
  • 訪問外部SRAM時(shí),采用了EXMC SRAM異步訪問模式A,讀寫開始時(shí)NE先拉低,接著地址先建立并保持,同時(shí)其他信號(hào)根據(jù)當(dāng)前訪問方向等進(jìn)行信號(hào)對(duì)應(yīng)輸出,接下來MCU或器件輸出數(shù)據(jù)信號(hào)建立,在輸出使能的邊沿進(jìn)行采樣,讀寫結(jié)束NE拉高。讀寫信號(hào)時(shí)序如下圖:
wKgaomZ6HpiAdnZxAAEB8AqdCrs063.png

在這個(gè)時(shí)序過程中,很多參數(shù)可以進(jìn)行配置調(diào)節(jié),其中主要是地址建立和保持、數(shù)據(jù)建立的參數(shù),一般根據(jù)速率要求、硬件信號(hào)斜率限制來平衡這個(gè)參數(shù),目標(biāo)為達(dá)到一個(gè)滿足穩(wěn)定性的最高速率參數(shù)。相關(guān)參數(shù)如下表所示:

wKgZomZ6HqqAfVqbAAHXO5SPTvg605.png

25.2.3外部SRAM器件原理

sram存儲(chǔ)模型可以使用下圖說明:

wKgaomZ6HrmAAf0uAAIJnhVGv8M241.png

SRAM內(nèi)部包含的存儲(chǔ)陣列,和表格查找一樣,指定一個(gè)行地址和列地址,就可以精確地找到目標(biāo)BIT單元格,這是SRAM芯片尋址的基本原理。這樣的每個(gè)單元格被稱為存儲(chǔ)單元,而這樣的表則被稱為存儲(chǔ)矩陣。地址譯碼器把N根地址線轉(zhuǎn)換成2的N次方根信號(hào)線,每根信號(hào)線對(duì)應(yīng)一行或一列存儲(chǔ)單元,通過地址線找到具體的存儲(chǔ)單元,實(shí)現(xiàn)尋址。如果存儲(chǔ)陣列比較大,地址線會(huì)分成行和列地址,或者行、列分時(shí)復(fù)用同一地址總線,訪問數(shù)據(jù)尋址時(shí)先用地址線傳輸行地址再傳輸列地址。

在外部SRAM上,列地址對(duì)應(yīng)了數(shù)據(jù)寬度,如例程所用的IS62WV51216BLL為16位寬度,故而行地址范圍是19,對(duì)應(yīng)了IS62WV51216BLL的A0-A19引腳,主控芯片通過A0-A19引腳即可實(shí)現(xiàn)對(duì)行地址進(jìn)行尋址訪問到對(duì)應(yīng)的16BIT數(shù)據(jù)。

如下圖所示為外部SRAM接口信號(hào),主控通過特定接口按時(shí)序即可時(shí)序地址發(fā)送、數(shù)據(jù)發(fā)送和讀取,實(shí)現(xiàn)對(duì)指定地址數(shù)據(jù)的讀寫。

wKgZomZ6HsaALUONAAethsCDsdM552.png

25.3硬件設(shè)計(jì)

如下是IS62WV51216BLL的原理圖設(shè)計(jì),MCU通過EXMC相關(guān)對(duì)應(yīng)接口連接到SRAM。

wKgZomZ6HtOAH-cWAARUkGzfwvg891.png
  • SRAM作為敏感器件,需要保證電源的穩(wěn)定、減少噪聲,串接了磁珠后供電,同時(shí)對(duì)sram的vdd引腳必須就近放置0.1uf去耦電容,若整個(gè)系統(tǒng)中存在較多其他負(fù)載,可以再增加較大電容穩(wěn)定電源。
  • SRAM的CS引腳通過MCU EXMC_NEx引腳控制,由于片選信號(hào)較為關(guān)鍵,避免MCU在EXMC多器件時(shí)懸空信號(hào)不穩(wěn)定導(dǎo)致誤操作,需要增加上拉電阻;在這里,上拉電阻應(yīng)當(dāng)靠近SRAM放置,減少連接回路上的耦合干擾。

25.4代碼解析

EXMC在初始化后,基本上通過程序的地址映射就可以進(jìn)行操作了,需要根據(jù)外部器件的要求進(jìn)行exmc相關(guān)參數(shù)配置,exmc可配置參數(shù)有很多,但選定好一個(gè)模式后實(shí)際在這個(gè)模式下需要配置的參數(shù)是有限的,一些結(jié)構(gòu)體成員只需要按默認(rèn)參數(shù)配置即可。

25.4.1EXMC SRAM模式初始化

  • 在sram訪問時(shí),可能會(huì)調(diào)整的exmc參數(shù)如下:
wKgaomZ6HumAGCSTAACAjtnHPqM457.png
  • 其中數(shù)據(jù)建立、地址建立、地址保持三個(gè)參數(shù)尤其關(guān)鍵,影響到最終的速率以及穩(wěn)定性,需要根據(jù)器件、電路設(shè)計(jì)、PCB設(shè)計(jì)、信號(hào)測(cè)試綜合來調(diào)試選取合適的值;其單位為AHB CLK。
wKgZomZ6HviAORpPAAAOiI0Q9QY818.png
  • 整個(gè)SRAM配置過程主要包含:GPIO和EXMC外設(shè)接口時(shí)鐘、GPIO配置、EXMC相關(guān)參數(shù)配置,完整代碼如下:
C
/*!
* 說明 emxc nor/sram模式初始化
* 輸入[1] norsram_region: @EXMC_BANK0_NORSRAM_REGION0/EXMC_BANK0_NORSRAM_REGION1/EXMC_BANK0_NORSRAM_REGION2/EXMC_BANK0_NORSRAM_REGION3
* 返回值 無
*/
void driver_exmc_sram_init(uint32_t norsram_region)
{
exmc_norsram_parameter_struct nor_init_struct;
exmc_norsram_timing_parameter_struct nor_timing_init_struct;

/* EXMC clock enable */
rcu_periph_clock_enable(RCU_EXMC);

/* EXMC enable */
rcu_periph_clock_enable(RCU_GPIOB);
rcu_periph_clock_enable(RCU_GPIOD);
rcu_periph_clock_enable(RCU_GPIOE);
rcu_periph_clock_enable(RCU_GPIOF);
rcu_periph_clock_enable(RCU_GPIOG);

/* configure EXMC_D[0~15]*/
/* PD14(EXMC_D0), PD15(EXMC_D1),PD0(EXMC_D2), PD1(EXMC_D3), PD8(EXMC_D13), PD9(EXMC_D14), PD10(EXMC_D15) */
gpio_init(GPIOD, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1| GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 |
GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);

/* PE7(EXMC_D4), PE8(EXMC_D5), PE9(EXMC_D6), PE10(EXMC_D7), PE11(EXMC_D8), PE12(EXMC_D9),
PE13(EXMC_D10), PE14(EXMC_D11), PE15(EXMC_D12) */
gpio_init(GPIOE, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 |
GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 |
GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);


/* configure NBL0(PE0) and NBL1(PE1) */
gpio_init(GPIOG, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_9 | GPIO_PIN_10);

/* configure NBL0(PE0) and NBL1(PE1) */
gpio_init(GPIOF, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15);

exmc_norsram_struct_para_init(&nor_init_struct);

/* config timing parameter */
nor_timing_init_struct.asyn_access_mode = EXMC_ACCESS_MODE_A;
nor_timing_init_struct.syn_data_latency = EXMC_DATALAT_2_CLK;
nor_timing_init_struct.syn_clk_division = EXMC_SYN_CLOCK_RATIO_2_CLK;
nor_timing_init_struct.bus_latency = 0;
nor_timing_init_struct.asyn_data_setuptime = 8;
nor_timing_init_struct.asyn_address_holdtime = 8;
nor_timing_init_struct.asyn_address_setuptime = 8;

/* config EXMC bus parameters */
nor_init_struct.norsram_region = norsram_region;
nor_init_struct.write_mode = EXMC_ASYN_WRITE;
nor_init_struct.extended_mode = DISABLE;
nor_init_struct.asyn_wait = DISABLE;
nor_init_struct.nwait_signal = DISABLE;
nor_init_struct.memory_write = ENABLE;
nor_init_struct.nwait_config = EXMC_NWAIT_CONFIG_BEFORE;
nor_init_struct.wrap_burst_mode = DISABLE;
nor_init_struct.nwait_polarity = EXMC_NWAIT_POLARITY_LOW;
nor_init_struct.burst_mode = DISABLE;
nor_init_struct.databus_width = EXMC_NOR_DATABUS_WIDTH_16B;
nor_init_struct.memory_type = EXMC_MEMORY_TYPE_SRAM;
nor_init_struct.address_data_mux = DISABLE;
nor_init_struct.read_write_timing = &nor_timing_init_struct;
nor_init_struct.write_timing = &nor_timing_init_struct;
exmc_norsram_init(&nor_init_struct);

/* enable the EXMC bank0 NORSRAM */
exmc_norsram_enable(norsram_region);
}

25.4.2初始化調(diào)用

  • 紅楓派開發(fā)板中SRAM的CS連接引腳為EXMC_NE0引腳,故而對(duì)應(yīng)EXMC BANK0 Region0區(qū),調(diào)用初始化時(shí)我們傳入?yún)?shù)EXMC_BANK0_NORSRAM_REGION0即可。
C
//初始化exmc norsram region0
driver_exmc_norsram_init(EXMC_BANK0_NORSRAM_REGION0);

25.4.3地址映射訪問方式

  • 初始化好后EXMC BANK0 Region0區(qū)的地址可以理解就和外部SRAM形成了映射關(guān)系,讀寫這些地址時(shí)EXMC會(huì)先拉低NE0選擇SRAM進(jìn)行通信和交互;

exmc驅(qū)動(dòng)的頭文件中定義好了BANK的4個(gè)Region地址,我們對(duì)Region0地址讀寫即可實(shí)現(xiàn)外部SRAM的數(shù)據(jù)讀寫。

wKgZomZ6HxCAXj_WAAAxiM8Yl3o460.png
  • 同樣我們也可以直接在編譯器里定義外部sram地址范圍,直接讓編譯器把定義的變量和數(shù)組放在外部sram中,我們不用再關(guān)心其具體地址;但我們需要在main函數(shù)之前初始化好exmc,可以在啟動(dòng)文件中調(diào)用exmc初始化。
wKgaomZ6Hx-AEJ_YAACmBa3sSN8279.pngwKgZomZ6HySAOOMKAAAsZBnmBAk564.png

25.4.4main函數(shù)設(shè)計(jì)

mian函數(shù)中通過指針方式以8位、16位、32位寫并讀取校驗(yàn)了外部SRAM數(shù)據(jù)

C
int main(void)
{
uint32_t writereadstatus = 0;

//延時(shí)和公共驅(qū)動(dòng)部分初始化
driver_init();

//打印串口初始化
bsp_uart_init(&BOARD_UART);

//初始化LED
bsp_led_group_init();
bsp_led_off(&LED0);
bsp_led_off(&LED1);

//初始化exmc norsram region0
driver_exmc_norsram_init(EXMC_BANK0_NORSRAM_REGION0);

delay_ms(100);
printf("External sram read and write examples.\r\n");


//以32位讀寫校驗(yàn)
printf("32-bit read/write check.\r\n");
writereadstatus=0;
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
REG32(EXMC_BANK0_NORSRAM_REGION0_ADDR+index*4)=0xa55aa55a;
}
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
if(0xa55aa55a!=REG32(EXMC_BANK0_NORSRAM_REGION0_ADDR+index*4)){
writereadstatus++;
break;
}
}
if(writereadstatus){
bsp_led_on(&LED0);
printf("\r\n32-bit read/write SRAM test failed!");
}else{
bsp_led_on(&LED1);
printf("\r\n32-bit read/write SRAM test successed!");
}


//以16位讀寫校驗(yàn)
printf("16-bit read/write check.\r\n");
writereadstatus=0;
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
REG16(EXMC_BANK0_NORSRAM_REGION0_ADDR+index*2)=0xaaaa;
}
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
if(0xaaaa!=REG16(EXMC_BANK0_NORSRAM_REGION0_ADDR+index*2)){
writereadstatus++;
break;
}
}
if(writereadstatus){
bsp_led_on(&LED0);
printf("\r\n16-bit read/write SRAM test failed!");
}else{
bsp_led_on(&LED1);
printf("\r\n16-bit read/write SRAM test successed!");
}


//以8位讀寫校驗(yàn)
printf("8-bit read/write check.\r\n");
writereadstatus=0;
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
REG8(EXMC_BANK0_NORSRAM_REGION0_ADDR+index)=0x55;
}
for(uint32_t index = 0; index < EXMC_SRAM_SIZE; index++ ){
if(0x55!=REG8(EXMC_BANK0_NORSRAM_REGION0_ADDR+index)){
writereadstatus++;
break;
}
}
if(writereadstatus){
bsp_led_on(&LED0);
printf("\r\n8-bit read/write SRAM test failed!");
}else{
bsp_led_on(&LED1);
printf("\r\n8-bit read/write SRAM test successed!");
}

while (1)
{


}
}

25.5實(shí)驗(yàn)結(jié)果

連接USB轉(zhuǎn)串口,將打印讀寫校驗(yàn)結(jié)果。

教程GD32 MCU方案商聚沃科技原創(chuàng)發(fā)布,了解更多GD32 MCU教程,關(guān)注聚沃科技官網(wǎng)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44455

    瀏覽量

    630944
  • sram
    +關(guān)注

    關(guān)注

    6

    文章

    760

    瀏覽量

    114555
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4838

    瀏覽量

    96854
  • GD32
    +關(guān)注

    關(guān)注

    7

    文章

    403

    瀏覽量

    24054
  • EXMC
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    5179
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    GD32F303】星空介紹

    一、開發(fā)板介紹星空GD開發(fā)板是由旗點(diǎn)科技推出的一款GD32開發(fā)板,板載
    發(fā)表于 09-11 17:55

    【星空GD32F303開發(fā)板試用體驗(yàn)】開箱+環(huán)境搭建

    本帖最后由 lustao 于 2021-10-19 09:29 編輯 感謝 發(fā)燒友學(xué)院以及廣州旗點(diǎn)智能科技有限公司為我和孩子提供此產(chǎn)品星空GD32F303開發(fā)板。收到了星空
    發(fā)表于 10-18 14:15

    【星空GD32F303開發(fā)板試用體驗(yàn)】開箱+環(huán)境搭建

    https://bbs.elecfans.com/jishu_2179209_1_1.html感謝 發(fā)燒友學(xué)院以及廣州旗點(diǎn)智能科技有限公司為我和孩子提供此產(chǎn)品星空gd32F303開發(fā)板。收到了星空
    發(fā)表于 11-02 15:36

    【星空GD32F303開發(fā)板試用體驗(yàn)】+板卡概覽

    本帖最后由 cooldog123pp 于 2021-11-6 21:07 編輯 星空GD開發(fā)板是由旗點(diǎn)科技推出的一款GD32開發(fā)板
    發(fā)表于 11-06 21:05

    星空GD32F303開發(fā)板的相關(guān)資料下載

    一、開發(fā)板介紹星空GD開發(fā)板是由旗點(diǎn)科技推出的一款GD32開發(fā)板,板載
    發(fā)表于 12-10 08:27

    第二十五 同步計(jì)數(shù)器

    第二十五 同步計(jì)數(shù)器 7.3.2 同步計(jì)數(shù)器一、同步二進(jìn)制計(jì)數(shù)器1.同步二進(jìn)制加法計(jì)數(shù)器JK觸發(fā)器組成的4位同步二進(jìn)制加法
    發(fā)表于 03-30 16:28 ?9189次閱讀
    <b class='flag-5'>第二十五</b><b class='flag-5'>講</b> 同步計(jì)數(shù)器

    STM32CUBEMX開發(fā)GD32F303(15)----外部中斷EXTI

    本章STM32CUBEMX配置STM32F103,并且在GD32F303中進(jìn)行開發(fā),同時(shí)通過開發(fā)板內(nèi)進(jìn)行驗(yàn)證。 使用外部中斷EXTI進(jìn)行驅(qū)
    的頭像 發(fā)表于 07-26 15:53 ?1221次閱讀
    STM32CUBEMX<b class='flag-5'>開發(fā)</b><b class='flag-5'>GD32F303</b>(15)----<b class='flag-5'>外部</b>中斷EXTI

    GD32F303固件庫(kù)開發(fā)

    /qq_24312945/article/details/124325797] GD32F303固件庫(kù)開發(fā)(2)----讀保護(hù)與寫保護(hù) 芯片讀保護(hù)以后,flash將不可以從外部讀取,這樣可以防止別人讀取或者盜取芯片代碼,如果想再
    的頭像 發(fā)表于 07-27 09:27 ?1048次閱讀
    <b class='flag-5'>GD32F303</b>固件庫(kù)<b class='flag-5'>開發(fā)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)第二 GPIO-流水燈實(shí)驗(yàn)

    GD32F303系列MCU最多可支持?112?個(gè)通用I/O?引腳(GPIO),分別為?PA0 ~ PA15,?PB0 ~ PB15,?PC0 ~ PC15,PD0 ~ PD15,?PE0
    的頭像 發(fā)表于 05-29 10:02 ?1347次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】<b class='flag-5'>第二</b><b class='flag-5'>講</b> GPIO-流水燈<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)】第三 GPIO-按鍵查詢檢測(cè)實(shí)驗(yàn)

    GD32F303系列MCU GPIO輸入配置結(jié)構(gòu)如下圖所示,輸入可配置上下拉電阻,通過施密特觸發(fā)器后可通過備用功能輸入或者通過輸入狀態(tài)寄存器進(jìn)行讀取。
    的頭像 發(fā)表于 05-30 10:02 ?696次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第三<b class='flag-5'>講</b> GPIO-按鍵查詢檢測(cè)<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)】第五 FMC-片內(nèi)Flash擦寫讀實(shí)驗(yàn)

    MC即Flash控制器,其提供了片上Flash操作所需要的所有功能,在GD32F303系列MCU中,F(xiàn)lash前256K字節(jié)空間內(nèi),?CPU執(zhí)行指令零等待,具有相同主頻下最快的代碼執(zhí)行效率。FMC也
    的頭像 發(fā)表于 06-02 10:05 ?599次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第五<b class='flag-5'>講</b> FMC-片內(nèi)Flash擦寫讀<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)】第十六 USART-DMA串口收發(fā)實(shí)驗(yàn)

    在前面ADC章節(jié)中,我們介紹了DMA的工作原理,這里就不多做介紹。從GD32F303用戶手冊(cè)中可以查到,各串口的TX和RX分別對(duì)應(yīng)DMA的不同通道,比如USART0的TX對(duì)應(yīng)DMA0的通道3,而RX對(duì)應(yīng)DMA0的通道4。
    的頭像 發(fā)表于 06-15 09:54 ?866次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】第十六<b class='flag-5'>講</b> USART-DMA串口收發(fā)<b class='flag-5'>實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)第二十 SPI-SPI NAND FLASH讀寫實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SPI通信協(xié)議,參考19.2.1東方紅開發(fā)板使用手冊(cè) ?GD32F303 SPI操作方式,參考19.2.2東方紅
    的頭像 發(fā)表于 06-20 09:50 ?640次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】<b class='flag-5'>第二十</b><b class='flag-5'>講</b> SPI-SPI NAND FLASH<b class='flag-5'>讀寫實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)第二十三講 SDIO-SD卡讀寫實(shí)驗(yàn)

    通過本實(shí)驗(yàn)主要學(xué)習(xí)以下內(nèi)容: ?SDIO操作原理 ?SD卡讀寫實(shí)現(xiàn)
    的頭像 發(fā)表于 06-23 10:49 ?476次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】<b class='flag-5'>第二十</b>三講 SDIO-SD卡<b class='flag-5'>讀寫實(shí)驗(yàn)</b>

    GD32F303紅楓開發(fā)板使用手冊(cè)第二十 USB-虛擬鍵盤實(shí)驗(yàn)

    ,傳輸速度也很快,這些特性使支持USB接口的電子設(shè)備更易用、更大眾化。GD32F303系列MCU集成了USB2.0全速設(shè)備USBD模塊,可以滿足作為USB設(shè)備與主機(jī)
    的頭像 發(fā)表于 06-27 09:42 ?596次閱讀
    【<b class='flag-5'>GD32F303</b><b class='flag-5'>紅楓</b><b class='flag-5'>派</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>使用手冊(cè)</b>】<b class='flag-5'>第二十</b>七<b class='flag-5'>講</b>  USB-虛擬鍵盤<b class='flag-5'>實(shí)驗(yàn)</b>