色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

STM32CubeMx之SD卡驅(qū)動

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2022-05-31 09:21 ? 次閱讀

1.SD卡簡介

SD存儲卡(Secure Digital Memory Card)是一種基于半導(dǎo)體快閃存儲器的新一代高速存儲設(shè)備。SD存儲卡的技術(shù)是從MMC卡(MultiMedia Card)格式上發(fā)展而來,在兼容SD存儲卡基礎(chǔ)上發(fā)展了SDIO(SD Input/ Output)卡,此兼容性包括機械電子,電力,信號和軟件,通常將SD、SDIO卡俗稱SD存儲卡。
SD卡具有高記憶容量、快速數(shù)據(jù)傳輸率、極大的移動靈活性以及很好的安全性,它被廣泛地應(yīng)用于便攜式裝置上,例如數(shù)碼相機、平板電腦和多媒體播放器等。
SD卡支持兩種總線方式:SD方式與SPI方式。其中 SD 方式采用 6 線制,使用 CLK、 CMD、 DAT0~DAT3進行數(shù)據(jù)通信。而SPI方式采用4線制,使用CS、CLK、DataIn、DataOut 進行數(shù)據(jù)通信。
SD 方式時的數(shù)據(jù)傳輸速度與SPI方式要快,STM32F103ZE自帶SDIO接口驅(qū)動,4位模式最高速度可達24MHZ,8位總線模式下可達48MHZ,本章節(jié)將介紹如何使用HAL庫完成對SD卡驅(qū)動。

poYBAGKUkkOAUvPKAAdF1sfJl-s520.png

2.SDIO簡介

SD/SDIO MMC卡主機模塊(SDIO)在AHB外設(shè)總線和多媒體卡(MMC)、 SD存儲卡、 SDIO卡和CE-ATA設(shè)備間提供了操作接口。
SDIO的主要功能如下:

  • 與多媒體卡系統(tǒng)規(guī)格書版本4.2全兼容。支持三種不同的數(shù)據(jù)總線模式:1位(默認(rèn))、 4位和8位。
  • 與較早的多媒體卡系統(tǒng)規(guī)格版本全兼容(向前兼容)。
  • 與較早的多媒體卡系統(tǒng)規(guī)格版本全兼容(向前兼容)。
  • 與SD存儲卡規(guī)格版本2.0全兼容。
  • 與SD I/O卡規(guī)格版本2.0全兼容,支持良種不同的數(shù)據(jù)總線模式:1位(默認(rèn))和4位。
  • 完全支持CE-ATA功能(與CE-ATA數(shù)字協(xié)議版本1.1 全兼容)。
  • 8位總線模式下數(shù)據(jù)傳輸速率可達48MHz。

3.硬件接口

poYBAGKUkreAAZPmAADMCPgiZv4597.png
引腳 SDIO SPI
SDIO_D2(PC10) 數(shù)據(jù)線
SDIO_D3(PC11) 數(shù)據(jù)線 SPI_CS 片選
SDIO_CMD(PD2) 控制線 SPI_MOSI主機輸出
SDIO_SCK(PC12) 時鐘 SPI_SCK時鐘線
SDIO_D0(PC8) 數(shù)據(jù)線 SPI_MISO主機輸入
SDIO_D1(PC9) 數(shù)據(jù)線

4 軟件設(shè)置

pYYBAGKUk2GADFAKAAOxr3Nvv8A330.pngpYYBAGKUk3aAMuoaAACGotghO_k103.pngpYYBAGKUk4eAULqwAAG3UZDYe-4451.pngpYYBAGKUk5aAfRGeAAGC7es0Omw405.png

5 代碼生成

??1.SD初始化

相關(guān)配置可參考STM32中文參考手冊_V1.0第20.9.2時鐘控制寄存器SDIO_CLKCR。

pYYBAGKUlAeAUdLdAAD5zhx1dpA160.pngpYYBAGKUlBSAGM-pAASjbdVzaks545.png

2.SD讀寫扇區(qū)函數(shù)

為了方便后續(xù)FATFS文件系統(tǒng)移植,我們這里封裝兩個函數(shù)SD卡寫扇區(qū)和讀扇區(qū)。

void SD_WriteDisk(uint8_t *buf,uint32_t sector_add,uint32_t cnt)
{
	HAL_SD_WriteBlocks(&hsd,buf,sector_add,cnt,5000);//SD卡寫塊
	while(HAL_SD_GetCardState(&hsd)!=HAL_SD_CARD_TRANSFER);//等待數(shù)據(jù)傳輸完成

}
void SD_ReadDisk(uint8_t *buf,uint32_t sector_add,uint32_t cnt)
{
	HAL_SD_ReadBlocks(&hsd,buf,sector_add,cnt,5000);//SD卡讀塊
	while(HAL_SD_GetCardState(&hsd)!=HAL_SD_CARD_TRANSFER);//等待數(shù)據(jù)傳輸完成
}

3.主函數(shù)

uint8_t buf_tx[4096]="SD卡SDIO驅(qū)動HAL庫配置測試數(shù)據(jù)STM32F103ZET6  -- Ver1.0";
uint8_t buf_rx[4096];  
MX_GPIO_Init();
  MX_FSMC_Init();
  MX_SDIO_SD_Init();
  MX_USART1_UART_Init();
  MX_SPI2_Init();
  /* USER CODE BEGIN 2 */
	char buff[200];
	NT35310_Init();//LCD初始化
	LCD_Display_Str(LCD_WIDTH/2-strlen("SD卡初始化")/2*8,20,16,(u8 *)"SD卡初始化",BLACK);
	if(hsd.State!=HAL_SD_STATE_READY)
	{
		LCD_Display_Str(20,40,16,(u8 *)"SD Init  ERR",RED);
	}
	else
	{
		LCD_Display_Str(20,40,16,(u8 *)"SD Init  OK",RED);
		LCD_Display_Str(20,60,16,(u8 *)"卡類型:",RED);
		if(hsd.SdCard.CardType==CARD_SDHC_SDXC)//2.0告訴卡
		{
			LCD_Display_Str(20+8+strlen("卡類型:")*8,60,16,(u8 *)"SDHC",RED);
		}
		else if(hsd.SdCard.CardType==CARD_SDSC)//2.0普通卡
		{
			LCD_Display_Str(20+8+strlen("卡類型:")*8,60,16,(u8 *)"SDSC",RED);
		}
		snprintf(buff,sizeof(buff),"塊大小: %d byte\n",hsd.SdCard.BlockSize);
		LCD_Display_Str(20,80,16,(u8 *)buff,RED);
		snprintf(buff,sizeof(buff),"卡容量大小: %.2f GB\n",(hsd.SdCard.BlockNbr>>11)/1024.0);
		LCD_Display_Str(20,100,16,(u8 *)buff,RED);
	}
	LCD_Display_Str(LCD_WIDTH/2-strlen("SD數(shù)據(jù)讀寫測試")/2*8,130,16,(u8 *)"SD數(shù)據(jù)讀寫測試",BLACK);
	SD_WriteDisk(buf_tx,100,2);
	LCD_Display_Str(20,150,16,(u8 *)"SD寫數(shù)據(jù): OK",RED);
	SD_ReadDisk(buf_rx,100,3);
	LCD_Display_Str(20,170,16,(u8 *)"SD讀數(shù)據(jù): OK",RED);
	LCD_Display_Str(20,190,16,(u8 *)"數(shù)據(jù)內(nèi)容:",RED);
	LCD_Display_Str(20,210,16,(u8 *)buf_rx,BLUE);
poYBAGKUlFeAKyj0AANc1ge4mgQ884.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355729
  • SD卡
    +關(guān)注

    關(guān)注

    2

    文章

    564

    瀏覽量

    63889
  • SDIO
    +關(guān)注

    關(guān)注

    2

    文章

    73

    瀏覽量

    19317
  • HAL庫
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

    6216
收藏 人收藏

    評論

    相關(guān)推薦

    怎樣利用STM32cubemx去搭建SD

    怎樣利用STM32cubemx去搭建SD?如何去使用其程序?
    發(fā)表于 10-08 06:38

    如何使用STM32CubeMX生成MSC與SDIO模版實現(xiàn)以SD為載體的U盤?

    如何使用STM32CubeMX生成MSC與SDIO模版實現(xiàn)以SD為載體的U盤?
    發(fā)表于 02-22 06:05

    【技術(shù)精選】嵌入式STM32原創(chuàng)征文活動精選文章

    網(wǎng)絡(luò)協(xié)議棧移植步驟與方案STM32CubeMX定時器PWM輸出STM32CubeMxSD
    發(fā)表于 07-27 18:26

    stm32cubemx教程

    stm32cubemx教程,需要學(xué)習(xí)的看看,免積分
    發(fā)表于 11-02 10:16 ?0次下載

    STM32CubeMX生成一個SD讀寫程序

    本文檔內(nèi)容介紹了一個STM32CubeMX生成一個SD讀寫程序,由于本程序是直接操作SD的物理扇區(qū),而直接寫物理扇區(qū)可能會破壞
    發(fā)表于 01-08 11:23 ?57次下載

    STM32CubeMX新建工程的過程及方法解析

    關(guān)于STM32CubeMX新建工程的過程。最終通過STM32CubeMX工具配置完成一個驅(qū)動IO(點亮LED)的軟件工程,也就是通過STM32CubeMX配置完成之后,打開工程直接下載
    發(fā)表于 11-27 16:43 ?7124次閱讀

    淺談stm32cubemx安裝教程

    STM32CubeMX介紹、下載與安裝
    的頭像 發(fā)表于 03-25 10:57 ?1.8w次閱讀
    淺談<b class='flag-5'>stm32cubemx</b>安裝教程

    STM32CubeMX第三篇串口實驗

    STM32CubeMX第三篇串口實驗
    發(fā)表于 12-05 11:21 ?6次下載
    <b class='flag-5'>STM32CubeMX</b>第三篇<b class='flag-5'>之</b>串口實驗

    STM32CubeMx學(xué)習(xí)——創(chuàng)建LED燈工程(基于STM32L071KBU)

    STM32CubeMx學(xué)習(xí)——創(chuàng)建LED燈工程(基于STM32L071KBU)本文介紹利用STM32CubeMx來創(chuàng)建工程代碼,并且將代碼下載到開發(fā)板加以驗證。本次實驗芯片為
    發(fā)表于 12-06 20:06 ?17次下載
    <b class='flag-5'>STM32CubeMx</b>學(xué)習(xí)<b class='flag-5'>之</b>——創(chuàng)建LED燈工程(基于<b class='flag-5'>STM32</b>L071KBU)

    STM32學(xué)習(xí)STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)

    STM32學(xué)習(xí)STM32cubeMX軟件安裝與使用(附STM32cubeMX5.2.1下載地址)
    發(fā)表于 12-07 11:51 ?28次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)<b class='flag-5'>之</b><b class='flag-5'>STM32cubeMX</b>軟件安裝與使用(附<b class='flag-5'>STM32cubeMX</b>5.2.1下載地址)

    STM32CubeMX 窗口及工具介紹

    STM32CubeMX 系列教程之 STM32CubeMX 窗口及 STM32PackCreator 工具介紹,內(nèi)附詳細(xì)圖文介紹。
    發(fā)表于 12-14 18:51 ?27次下載
    <b class='flag-5'>STM32CubeMX</b> 窗口及工具介紹

    STM32CubeMX系列|SD

    SD1.SD簡介2. 硬件設(shè)計3. 軟件設(shè)計3.1 STM32CubeMX設(shè)置3.2 MDK-ARM編程4. 下載驗證
    發(fā)表于 12-31 19:22 ?20次下載
    <b class='flag-5'>STM32CubeMX</b>系列|<b class='flag-5'>SD</b><b class='flag-5'>卡</b>

    stm32 CubeMx 實現(xiàn)SD/sd nand FATFS讀寫測試

    文章目錄stm32CubeMx實現(xiàn)SD/SDnandFATFS讀寫測試1.前言2.環(huán)境介紹2.1軟硬件說明2.2外設(shè)原理圖3.工程搭建3.1CubeMx配置3.2SDIO時鐘配置說明
    的頭像 發(fā)表于 06-03 09:20 ?1986次閱讀
    <b class='flag-5'>stm32</b> <b class='flag-5'>CubeMx</b> 實現(xiàn)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>/<b class='flag-5'>sd</b> nand FATFS讀寫測試

    淺談STM32SD

    STM32SD
    的頭像 發(fā)表于 10-19 18:28 ?1866次閱讀
    淺談<b class='flag-5'>STM32</b><b class='flag-5'>之</b><b class='flag-5'>SD</b><b class='flag-5'>卡</b>

    STM8CubeMXSTM32CubeMX功能一樣嗎?

    STM8CubeMXSTM32CubeMX功能一樣嗎?
    的頭像 發(fā)表于 10-31 16:59 ?1798次閱讀
    STM8<b class='flag-5'>CubeMX</b>和<b class='flag-5'>STM32CubeMX</b>功能一樣嗎?
    主站蜘蛛池模板: 久久精视频| 十九岁在线观看免费完整版电影| 99精品影视| 台湾18成人影院| 两个吃奶一个添下面视频| 成年私人影院网站在线看| 亚洲无遮挡无码A片在线| 欧美兽交YOYO| 久久国产精品高清一区二区三区| xhameter中国| 又色又爽又黄gif动态视频| 男女夜晚在爽视频免费观看| 国产高清精品自在久久| 506070老熟肥妇bbwxx视频| 亚洲国产精品久久精品成人网站| 欧美 亚洲 中文字幕 高清| 精品久久久噜噜噜久久久app| 边做边爱BD免费看片| 一一本之道高清手机在线观看 | 久草大| 被肉日常np快穿高h| 影音先锋亚洲AV少妇熟女| 无码欧美XXXXX在线观看裸| 欧洲内射VIDEOXXX3D| 老湿影院色情a| 加勒比一本之道高清视频在线观看| 国产白丝精品爽爽久久蜜臀| good神马电影伦理午夜| 最近中文字幕MV高清在线| 亚洲国产欧美日本大妈| 色狠狠色综合吹潮| 欧美性受xxxx狂喷水| 毛片免费观看| 麻豆国产MV视频| 狼人射综合| 狼群影院视频在线观看WWW| 久久精品18| 久久夜色撩人精品国产| 久久兔费黄A级毛片高清| 精品国产在线观看福利| 国精产品一区一区三区有限|