国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

STM32 虛擬U盤

發(fā)布者:RadiantDusk最新更新時間:2025-02-05 來源: jianshu關(guān)鍵字:STM32  虛擬U盤  Cubemx 手機看文章 掃描二維碼
隨時隨地手機看文章

使用 SRAM 進行簡單測試

  • Cubemx 設(shè)置 USB_OTG_FS 為 Device_Only, USB_DEVICE 設(shè)置 Class For FS IP 為 Mass Storage Class, 里面詳細配置使用默認參數(shù)即可.

  • 到 Project Manager 設(shè)置棧大小稍微大些, 因為 USB 協(xié)議的函數(shù)調(diào)用和局部變量較多, 比如設(shè)置成 0x10000.

  • 在 usbd_storage_if.c 中添加如下代碼, 使用 SRAM 作為存儲:


#define STORAGE_LUN_NBR                  1

#define STORAGE_BLK_NBR                  200        /* 內(nèi)存容量一般來說很少, 這里使用 100K 的內(nèi)存作為實驗 */

#define STORAGE_BLK_SIZ                  0x200


/* USER CODE BEGIN PRIVATE_DEFINES */

static char msc_data[STORAGE_BLK_NBR * STORAGE_BLK_SIZ];    /* 定義數(shù)組用來存放數(shù)據(jù) */

/* USER CODE END PRIVATE_DEFINES */


/* 修改下面兩個函數(shù) */

int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

{

    /* USER CODE BEGIN 6 */

    memcpy(buf, msc_data + STORAGE_BLK_SIZ*blk_addr, blk_len*STORAGE_BLK_SIZ);


    return (USBD_OK);

    /* USER CODE END 6 */

}


int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

{

    /* USER CODE BEGIN 7 */

    memcpy(msc_data + STORAGE_BLK_SIZ*blk_addr, buf, blk_len*STORAGE_BLK_SIZ);


    return (USBD_OK);

    /* USER CODE END 7 */

}


使用 NAND FLASH 做測試

int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

{

  /* USER CODE BEGIN 6 */

  for (int i = 0; i < blk_len; i++)

  {

    nand_flash_read_page((blk_addr + i) * 64, 0, buf, 4096);

  }

  

  return (USBD_OK);

  /* USER CODE END 6 */

}




int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)

{

  /* USER CODE BEGIN 7 */

  for (int i = 0; i < blk_len; i++)

  {

    nand_flash_erase(blk_addr + i);

    nand_flash_write_page((blk_addr + i) * 64, 0, buf, 4096);

  }

  return (USBD_OK);

  /* USER CODE END 7 */

}


關(guān)鍵字:STM32  虛擬U盤  Cubemx 引用地址:STM32 虛擬U盤

上一篇:stm32配合xshell串口輸入
下一篇:安富萊 STM32 按鍵檢測

推薦閱讀最新更新時間:2025-06-18 23:47

STM32CubeMX學(xué)習(xí)筆記(8)——ADC接口使用
一、ADC簡介 ADC(Analog-to-Digital Converter),即模擬-數(shù)字轉(zhuǎn)換器,可以將連續(xù)變化的模擬信號轉(zhuǎn)換為離散的數(shù)字信號,進而使用數(shù)字電路進行處理,稱之為數(shù)字信號處理。 STM32f103 系列有 3 個 ADC,精度為 12 位,每個 ADC 最多有 16 個外部通道。其中 ADC1 和 ADC2 都有 16 個外部通道,ADC3 根據(jù) CPU 引腳的不同通道數(shù)也不同,一般都有 8 個外部通道。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)行。ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。模擬看門狗特性允許應(yīng)用程序檢測輸入電壓是否超出用戶定義的高/低閥值。ADC 的輸入時鐘不得超過1
[單片機]
STM32CubeMX 下載和安裝 詳細教程
STM32CubeMX 下載 步驟1:點擊官網(wǎng)鏈接下載 官網(wǎng)下載地址:https://www.st.com/en/development-tools/stm32cubemx.html 步驟2:點擊 Get Software 步驟3:選擇 Windows 系統(tǒng),點擊 Get latest 步驟4:點擊 ACCEPT 步驟5:填寫個人信息 步驟6:在剛剛填寫的郵箱中,點擊下載鏈接 步驟7:下載完成 步驟8:解壓后,就是安裝軟件 STM32CubeMX 安裝 步驟1:雙擊安裝軟件 步驟2:點擊Next 步驟3:勾選同意,然后點擊Next 步驟4:勾選第一個,然后點擊Next 步驟5:選擇安
[單片機]
STM32<font color='red'>CubeMX</font> 下載和安裝 詳細教程
STM32CubeMX系列教程3:基本定時器
這一章我們在前一章GPIO的工程修改。復(fù)制GPIO的工程,修改文件夾名。點擊 打開STM32cubeMX的工程文件重新配置。開啟定時器TIM3,選擇內(nèi)部時鐘。 定時器就相當(dāng)于單片機的鬧鐘,下面我們以基本定時器為例簡單介紹一下定時器。 從上圖我們可以看到,基本定時器主要由下面三個寄存器組成。 計數(shù)器寄存器 (TIMx_CNT) 預(yù)分頻器寄存器 (TIMx_PSC) 自動重載寄存器 (TIMx_ARR) 計數(shù)器寄存器 (TIMx_CNT)存儲的是當(dāng)前的計數(shù)值。預(yù)分頻器 (TIMx_PSC)為多少個SK_PSC脈沖計數(shù)一次,如圖192 預(yù)分頻器的值為1(預(yù)分頻寄存器默認為0,為不分頻),則為兩個脈沖計數(shù)一次。即為二
[單片機]
STM32<font color='red'>CubeMX</font>系列教程3:基本定時器
HAL庫 STM32CubeMX教程五----看門狗(獨立看門狗,窗口看門狗)
前言: 今天我們來學(xué)習(xí)看門狗的配置與函數(shù),看門狗可以有效解決程序的跑飛,在使用過程中比較常見,是防止芯片故障的有效外設(shè),我們一起來學(xué)習(xí)下HAL庫 STM32CubeMX的獨立看門狗,靠窗看門狗的使用。本系列教程將HAL庫與STM32CubeMX結(jié)合在一起講解,使您可以更快速的學(xué)會各個模塊的使用 所用工具: 1、芯片: STM32F407ZET6 2、STM32CubeMx軟件 3、IDE: MDK-Keil軟件 4、STM32F1xx/STM32F4xxHAL庫 知識概括: 通過本篇博客您將學(xué)到: STM32CubeMX創(chuàng)建看門狗例程 獨立看門狗,靠窗看門狗 工作原理 看門狗 在
[單片機]
HAL庫 STM32<font color='red'>CubeMX</font>教程五----看門狗(獨立看門狗,窗口看門狗)
STM32CubeMX系列教程05_File、Window、Help菜單說明
一、寫在前面 STM32CubeMX主界面菜單包含:File文件、Window窗口、Help幫助這三個菜單。 STM32CubeMX V5和V4版本菜單有差異,V4版本有5個菜單:File文件、Project工程、Pinout引腳輸出、Window窗口、Help幫助。 大家可以看一下我16年在公眾號寫過的一篇講解關(guān)于STM32CubeMX V4版本菜單的文章:STM32CubeMX使用方法及功能介紹 相信使用過V4版本的朋友都知道,V5版本將Project工程、Pinout引腳輸出這兩個菜單做在工程內(nèi)部去了。 本文針對V5版本,詳細講述File、Window、Help這三個菜單。 二、File文件 N
[單片機]
STM32<font color='red'>CubeMX</font>系列教程05_File、Window、Help菜單說明
STM32F4CubeMX學(xué)習(xí)筆記之GPIO_LED
開發(fā)板:普中PZ6808L-F4 開發(fā)環(huán)境:keil5+CnbeMx 兩個LED配置為推挽輸出
[單片機]
STM32F4<font color='red'>CubeMX</font>學(xué)習(xí)筆記之GPIO_LED
STM32 軟件模擬 IIC 代碼,標(biāo)準庫、HAL庫可用
1 #ifndef _IIC_H 2 #define _IIC_H 3 4 #include stdio.h 5 #include stm32f1xx_hal.h 6 7 8 /* 定義控制 SDA SCL 的宏 標(biāo)準庫版 9 #define I2C_SDA_UP GPIO_SetBits (GPIOC,GPIO_PIN_8) //SDA高電平 10 #define I2C_SDA_LOW GPIO_ResetBits(GPIOC,GPIO_PIN_8) //SDA低電平 11 #define I2C_SCL_UP GPIO_SetBits (GPIOC,GPIO_PIN_9) //SC
[單片機]
STM32在keil下開發(fā)時候文件options配置的一些小技巧
總述 這是之前ST芯片載keil下開發(fā)時候總結(jié)的一些代碼文件options配置小筆記,雖然不是很復(fù)雜但是在使用的過程中很方便,這里給大家介紹一下。一個是一個bug介紹,第二個是多個同名代碼文件的條件編譯,第三個是“文件的解鎖/開鎖”。 一、bug解釋 keil編譯遇到這樣的提示 FCARM - Output Name not specified,please check 'Options for Target - Utilities' 一般是原因是加載文件時為了選擇.md .TXT等非.c.h.lib說明文件,而且在配置選項選擇了代碼文件被一同編譯。 解決方法如下: 將工程目錄里面非程序的文件,右鍵并選擇第
[單片機]
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章
電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved