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

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

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

3天內不再提示

單片機存儲器中提高層次的操作

FPGA之家 ? 來源:CSDN ? 作者:果果小師弟 ? 2021-03-12 15:55 ? 次閱讀

摘要:在單片機開發板上或者是核心板上通常會看到除了MCU之外的的芯片—EEPROM和FLASH,一般是AT24CXX、W25QXX這兩顆芯片。但在利用單片機做一些項目的時候,比如做一個小車,驅動一些外設、顯示一些溫濕度信息等,卻發現一般沒有用到這些芯片。

在做一些顯示的時候卻會用到。他們與單片機之間的通信方式就是IIC和SPI通信,在單片機的開發中用到的非常多。很多小伙伴就會說了,用OLED來顯示一些數據,IIC通信直接用別人的代碼,驅動SD卡或者NRF24L01直接拿別人的SPI代碼就可以啊,難道我還自己去寫驅動嗎?當然需要,學會了這些操作,層次就會提高很多,不信那就接著往下看!

EEPROM AT24C02存儲器學單片機的時候大家可能有一個問題,為啥是IIC讀寫EEPROM,而不是讀寫其他的東西。為什么大部分的單片機開發教程都教我利用IIC通信來讀寫EEPROM這顆AT24C02芯片?4針0.96寸OLED也是IIC操作的,為啥他們不叫我如何利用IIC通信來操作OLED?原因很簡單,主要是讀寫EEPROM你學完了沒有成就感,會讀寫EEPROM又怎么樣?歸根到底是沒有掌握IIC體會到IIC通信的重要性。

今年疫情很嚴重,有一款紅外測溫芯片mlx90641就是通過IIC來讀取溫度的。我想如果教程是IIC讀寫紅外測溫芯片,大家可能會比較感興趣。言歸正傳,來說一說EEPROM。ROM是“Read Only Memory”的縮寫,意為只能讀的存儲器。由于技術的發展,后來設計出了可以方便寫入數據的 ROM,而這個“Read Only Memory”的名稱被沿用下來了。EEPROM(Electrically Erasable Programmable ROM)是電可擦除存儲器。EEPROM 可以重復擦寫,EEPROM 是一種掉電后數據不丟失的存儲器,常用來存儲一些配置信息,以便系統重新上電的時候加載之。它的擦除和寫入都是直接使用電路控制,不需要再使用外部設備來擦寫。而且可以按字節為單位修改數據,無需整個芯片擦除。現在主要使用的ROM芯片都是EEPROM。24C02是一個2K Bit的串行EEPROM存儲器(掉電不丟失),內部含有256個字節,在24C02里面有一個8字節的頁寫緩沖器。

操作任何的IIC設備一般都要知道從機地址,也就是利用單片機操作讀寫的那個設備的地址。一般來說對于IIC設備地址是7位,其中高 4 位固定為:1010 b,低 3 位則由 A0/A1/A2信號線的電平決定。所以一個IIC總線上可以掛載2^3=8個EEPROM芯片,當然一般一個單片機只有一塊EEPROM芯片,所以我們直接把這個A2A1A0接地即可,當然接VCC也沒有問題,如果接GND那么地址就是1010000(0X50),如果接VCC那么地址就是1010111(0X57)。

因為24C02是一個2K Bit的串行EEPROM存儲器(掉電不丟失),內部含有256個字節。也就是說有256個存儲單元,一個字節就是一個存儲單元,因為每個字節可以出存256個數,也就是說每個存儲單元可以存0~255個數。我們可以這樣理解,AT24C02是一棟教學樓,這個教學樓有256個房間(存儲單元),沒每個房間可以容納256個學生(每個存儲單元可以存儲0 ~ 255個數)。

而且這個芯片在斷電的時候數據不會丟失,利用掉電不會丟失以及這款芯片容量不大的特性,可以大致判斷它會在哪些地方可以用到。比如我們看電視得時候,正在看CCTV6電影頻道,播放的聲音比較大,那么這時候正好停電了。那么你下次來電時你打開電視機,電視機默認肯定是CCTV6電影頻道,播放的聲音也是很大。那么這些“頻道”、“音量”這些數據就存在EEPROM里面,至于是不是ATC02就不一定了。

總結:

存儲量少,用起來方便

可以任意訪問地址數據,每一個存儲單片可以獨立訪問,

寫入前是不需要對寫入的單片做獨立的擦除

這三個特點對我們理解存儲器的特性非常重要,因為接下來要說的FLASH芯片的特性就與它完全相反。

FLASH W25Q128存儲器

FLSAH字面意思就是閃現、一瞬間的意思,所以FLSAH存儲器又稱閃存,與 EEPROM都是掉電后數據不丟失的存儲器,但FLASH存儲器容量普遍大于 EPROM,現在基本取代了它的地位。生活中常用的 U 盤、SD卡、SSD 固態硬盤以及我們 STM32 芯片內部用于存儲程序的設備,都是 FLASH 類型的存儲器。在存儲控制上,最主要的區別是 FLASH 芯片只能一大片一大片地擦寫,而 EEPROM可以單個字節擦寫。

FLASH 芯片的最小擦除單位為扇區(Sector),而一個塊(Block)包含 16 個扇區,4Kbytes為一個Sector,16個扇區為1個Block。W25Q64 容量為8M字節(即 64M bit), 分為128塊(Block),每一塊的大小為64K字節,每塊又分為16個扇區(Sector),那么每個扇區就是4K個字節。W25Q128 容量為16M字節(即 128M bit),分為256塊(Block),每一塊的大小為64K字節,每塊又分為16個扇區(Sector),那么每個扇區就是4K個字節(4096個字節,也就是4096個存儲單元)。

W25Qxx的最小擦除單位為一個扇區,也就是每一次必須擦除4K字節。所以必須給W25Qxx開辟至少4K的緩沖區,這樣對單片機的RAM的要求比較高,要求芯片必須有4K以上的RAM才能很好的操作。所有的FLASH我們在寫之前都要擦出對應的扇區,擦除后的數據是0XFF。我們可以這樣理解。我們要改寫FLASH芯片W25Q128的一個扇區中某一個數據,就必須在STM32芯片的內部RAM中開辟4K字節(4096字節)的緩沖區域。先把FLASH芯片W25Q128的一個扇區中數據全部讀到STM32芯片的內部RAM中開辟4K字節(4096字節)的緩沖區域中去,把我們要改寫的數據在緩沖區域改寫好之后,再把FLASH芯片W25Q128的一個扇區中的數據全部擦除完畢,擦除完成之后再把數據寫回去。這是寫入數據的操作,在讀數據的時候不需要以扇區為單位,想讀哪個扇區就讀哪個扇區的數據。

/************************************************************************* * Function Name : SPI_Flash_Write * Description : 在指定地址開始寫入指定長度的數據,該函數帶擦除操作! * Input : *pBuffer:要寫入數據的指針 WriteAddr:開始寫入的地址(24bit) NumByteToWrite:要寫入的字節數(最大16 x 1024 x 1024) * Output : None * Return : None

****************************************************************************/ void SPI_Flash_Write(u8* pBuffer, u32 WriteAddr, u16 NumByteToWrite) { u8 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0, temp = 0; Addr = WriteAddr % 4096;//mod運算求余,若writeAddr是4096整數倍,運算結果Addr值為0 NumOfPage = NumByteToWrite / 4096;//計算出要寫多少整數扇區 NumOfSingle = NumByteToWrite % 4096;//mod

運算求余,計算出剩余不滿一扇區的字節數 count = 4096 - Addr;//差count個數據值,剛好可以對齊到扇區地址 if (Addr == 0)//Addr=0,則WriteAddr剛好按扇區對齊或者說小于一個扇區 { //NumByteToWrite 《 4096,寫入的字符串大小長度小于一個扇區(4096個字節)的大小,如22 if (NumOfPage == 0) { SPI_Flash_Write_Page(pBuffer, WriteAddr, NumByteToWrite); } else //NumByteToWrite 》 4096,寫入的字符串大小長度大與一個扇區(4096個字節)的大小,如4098 { //先把整數扇區都寫了 while (NumOfPage--) { SPI_Flash_Write_Page(pBuffer, WriteAddr, 4096); WriteAddr += 4096; pBuffer += 4096; } //若有多余的不滿一扇區的數據,把它寫完

SPI_Flash_Write_Page(pBuffer, WriteAddr, NumOfSingle); } } //若地址與 4096 不對齊 else //Addr不等于0,則要寫入的WriteAddr地址與4096不對齊 { //NumByteToWrite 《 4096 if (NumOfPage == 0)//大小不夠一個扇區,如22 { //當前頁剩余的count個位置比NumOfSingle小,一扇區寫不完 if (NumOfSingle 》 count) { temp = NumOfSingle - count; //先寫滿當前扇區 SPI_Flash_Write_Page(pBuffer, WriteAddr, count); WriteAddr += count; pBuffer += count; //再寫剩余的數據 SPI_Flash_Write_Page(pBuffer, WriteAddr, temp); } else //當前扇區剩余的count個位置能寫完

NumOfSingle個數據 { SPI_Flash_Write_Page(pBuffer, WriteAddr, NumByteToWrite); } } else //NumByteToWrite 》 4096 //大小夠一個扇區,而且還超出一點點,如4098 { //地址不對齊多出的count分開處理,不加入這個運算 NumByteToWrite -= count; NumOfPage = NumByteToWrite / 4096; NumOfSingle = NumByteToWrite % 4096; //先寫完count個數據,為的是讓下一次要寫的地址對齊 SPI_Flash_Write_Page(pBuffer, WriteAddr, count); //接下來就重復地址對齊的情況

*/ WriteAddr += count; pBuffer += count; //把整數扇區都寫了*/ while (NumOfPage--) { SPI_Flash_Write_Page(pBuffer, WriteAddr, 4096); WriteAddr += 1096; pBuffer += 4096; } //若有多余的不滿一扇區的數據,把它寫完 if (NumOfSingle != 0) { SPI_Flash_Write_Page(pBuffer, WriteAddr, NumOfSingle); } } } }

總結:

/********************************************************************** * Function Name : SPI_Flash_Read * Description : 在指定地址開始讀取指定長度的數據 * Input : *pBuffer:存儲讀出數據的指針 ReadAddr:開始讀取的地址(24bit) NumByteToRead:要讀取的字節數(最大 16 x 1024 x 1024) * Output : None * Return : None ************************************************************************/ void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead) { u16 i; SPI_FLASH_CS=0; //使能器件

SPI1_ReadWriteByte(CMD_W25X_ReadData); //發送讀取命令 SPI1_ReadWriteByte((ReadAddr& 0xFF0000)》》16); //發送扇區地址的高8bit SPI1_ReadWriteByte((ReadAddr& 0xFF00)》》8); //發送扇區地址的中間8bit SPI1_ReadWriteByte( ReadAddr& 0xFF); //發送扇區地址的低8bit for(i=0;i《NumByteToRead;i++) { pBuffer[i]=SPI1_ReadWriteByte(0XFF); //循環讀數 } SPI_FLASH_CS=1; //取消片選 } 總結:

存儲量大

不能任意訪問字節地址數據,每一個存儲單片不可以獨立訪問,最小讀取單元是一個扇區

寫入前是必須對寫入的扇區做獨立的擦除操作。擦除的目的是使存儲單元的數據全為1

SD卡大容量存儲器SD 卡(Secure Digital Memory Card)在我們生活中已經非常普遍了,控制器對 SD卡進行讀寫通信操作一般有兩種通信接口可選,一種是 SPI接口,另外一種是 SDIO 接口。SDIO全稱是安全數字輸入/輸出接口,多媒體卡(MMC)、SD卡、SD I/O 卡(專指使用SDIO 接口的一些輸入輸出設備)都可使用 SDIO 接口通訊。STM32F10x 系列控制器有一個 SDIO 主機接口,它支持與上述使用 SDIO 接口的設備進行數據傳輸。

STM32F10x 系列控制器只支持 SD 卡規范版本 2.0,即只支持標準容量SD和高容量 SDHC 標準卡,不支持超大容量 SDXC 標準卡,所以可以支持的最高卡容量是 32GB。SD 卡一般都支持 SDIO 和 SPI 這兩種接口。另外,STM32F42x 系列控制器的 SDIO 是不支持 SPI通信模式的,如果需要用到 SPI通信只能使用 SPI外設。因為SPI通信方式操作SD卡的數據線只有一根,而如果用SDIO的通信方式操作SD卡的數據線卻又3根。為了節省資源一般在STM32F10x 系列控制器上用SPI的通信方式,而在引腳資源比較多的F4系列上就用SDIO的通信方式了。

1e5d7702-82f5-11eb-8b86-12bb97331649.png

SD容量有8MB、16MB、32MB、64MB、128MB、256MB、512MB、1GB、2GB (磁盤格式FAT12、FAT16)

SDHC容量有2GB、4GB、8GB、16GB、32GB(磁盤格式FAT32)

SDXC容量有32GB、48GB、64GB、128GB、256GB(磁盤格式exFAT)

3.1初始化1、初始化與SD卡連接的硬件條件(MCU的SPI配置,IO口配置);

2、上電延時(》74 個 CLK);

3、復位卡(CMD0),進入IDLE狀態;

4、發送CMD8,檢查是否支持2.0協議;

5、根據不同協議檢查SD卡(命令包括:CMD55、CMD41、CMD58 和 CMD1 等);

6、取消片選,發多 8個CLK,結束初始化

/******************************************************************************* * Function Name : SD_Init * Description : 初始化SD卡 * Input : None * Output : None * Return : u8 * 0:NO_ERR * 1:TIME_OUT * 99:NO_CARD *******************************************************************************/ u8 SD_Init(void) { u8 r1; // 存放SD卡的返回值 u16 retry; // 用來進行超時計數 u8 buf[4]; u16 i; SD_SPI_Init(); //初始化IO SD_SPI_SpeedLow(); //設置到低速模式 //先產生至少74個脈沖,讓SD卡自己初始化完成 for(i=0;i《10;i++) { SD_SPI_WriteByte(0XFF);

////80clks } //-----------------SD卡復位到idle開始----------------- //循環連續發送CMD0,直到SD卡返回0x01,進入IDLE狀態 //超時則直接退出 retry=0; do { r1=SD_SendCmd(CMD0,0,0x95);//進入IDLE狀態,作用是讓SD卡進入SPI模式。這里的CRC校驗位0x95是固定的,不能修改 retry++; }while((r1!=0X01) && (retry《20));//如果 SD 卡有正確的回應,代碼就繼續執行,如果沒有回應程序就終止執行。 //跳出循環后,檢查原因:初始化成功?or 重試超時? if(retry==20) return 1; //超時返回1 SD_Type=0;

//默認無卡 //下面是V2.0卡的初始化 //其中需要讀取OCR數據,判斷是SD2.0還是SD2.0HC卡 if(r1==0X01) { if(SD_SendCmd(CMD8,0x1AA,0x87)==1)//SD V2.0 { //V2.0的卡,CMD8命令后會傳回4字節的數據,要跳過再結束本命令 buf[0]=SD_SPI_ReadByte(); //should be 0x00 buf[1]=SD_SPI_ReadByte(); //should be 0x00 buf[2]=SD_SPI_ReadByte(); //should be 0x01 buf[3]=SD_SPI_ReadByte(); //should be 0xAA if(buf[2]==0X01&&buf[3]==0XAA)//判斷卡是否支持2.7~3.6V的電壓范圍 { retry=0XFFFE; //發卡初始化指令CMD55+CMD41 do { SD_SendCmd(CMD55,0,0X01); //發送CMD55 r1=SD_SendCmd(CMD41,0x40000000,0X01);//發送CMD41 }while(r1&&retry--); //初始化指令發送完成,接下來獲取OCR信息

//-----------鑒別SD2.0卡版本開始----------- if(retry&&SD_SendCmd(CMD58,0,0X01)==0)//鑒別SD2.0卡版本開始 { //讀OCR指令發出后,緊接著是4字節的OCR信息 buf[0]=SD_SPI_ReadByte(); buf[1]=SD_SPI_ReadByte(); buf[2]=SD_SPI_ReadByte(); buf[3]=SD_SPI_ReadByte(); //檢查接收到的OCR中的bit30位(CCS),確定其為SD2.0還是SDHC //如果CCS=1:為SDV2.0HC的2.0高容量卡 CCS=0:為SDV2.0的2.0版本的標準卡 if(buf[0]&0x40) SD_Type=SD_TYPE_V2HC; //檢查CCS else SD_Type=SD_TYPE_V2; LCD_ShowNum(164,250,SD_Type,5,16);//顯示SD卡容量 //-----------鑒別SD2.0卡版本結束----------- } } } //如果卡片版本信息是v1.0版本的,即r1=0x05,則進行以下初始化

else//SD V1.0/ MMC V3 { //先發CMD55,應返回0x01;否則出錯 r1 = SD_SendCmd(CMD55,0,0X01); //發送CMD55 if(r1 != 0x01) return r1; //得到正確響應后,發ACMD41,應得到返回值0x00 r1=SD_SendCmd(CMD41,0,0X01); //發送CMD41 if(r1《=1) { SD_Type=SD_TYPE_V1; retry=0XFFFE; do //等待退出IDLE模式 { SD_SendCmd(CMD55,0,0X01); //發送CMD55 r1=SD_SendCmd(CMD41,0,0X01);//發送CMD41 }while(r1&&retry--); }else//MMC卡不支持CMD55+CMD41識別 { SD_Type=SD_TYPE_MMC;//MMC V3 retry=0XFFFE; do //等待退出IDLE模式 { r1=SD_SendCmd(CMD1,0,0X01);//發送CMD1,發送MMC卡初始化命令

}while(r1&&retry--); } if(retry==0||SD_SendCmd(CMD16,512,0X01)!=0) SD_Type=SD_TYPE_ERR;//錯誤的卡 } } SD_DisSelect();//取消片選 SD_SPI_SpeedHigh();//高速 if(SD_Type) return 0; else if(r1) return r1; return 0xaa;//其他錯誤 }

3.2寫數據通過 CMD24實現1、發送CMD24;

2、接收卡響應R1;

3、發送寫數據起始令牌 0XFE;

4、發送數據;

5、發送2字節的偽CRC;

6、禁止片選之后,發多8個CLK;

/******************************************************************************* * Function Name : SD_WriteDisk * Description : 向SD卡寫數據 * Input : buf:數據緩存區 * sector:扇區 * cnt:扇區數 * Output : None * Return : u8 * 0:ok * 其他,失敗。 *******************************************************************************/ u8 SD_WriteDisk(u8*buf,u32 sector,u8 cnt) { u8 r1; if(SD_Type!=SD_TYPE_V2HC)sector *= 512;//轉換為字節地址 if(cnt==1) { r1=SD_SendCmd(CMD24,sector,0X01);//讀命令 if(r1==0)//指令發送成功 { r1=SD_SendBlock(buf,0xFE);//寫512個字節 } }else { if(SD_Type!=SD_TYPE_MMC) { SD_SendCmd(CMD55,0,0X01); SD_SendCmd(CMD23,cnt,0X01);//發送指令 } r1=SD_SendCmd(CMD25,sector,0X01);//連續讀命令 if(r1==0) { do { r1=SD_SendBlock(buf,0xFC);//接收512個字節 buf+=512; }while(--cnt && r1==0); r1=SD_SendBlock(0,0xFD);//接收512個字節 } } SD_DisSelect();//取消片選,釋放SPI總線 return r1; }

3.3讀取數據通過 CMD17實現1、發送CMD17;

2、接收卡響應R1;

3、接收數據起始令牌 0XFE;

4、接收數據;

5、接收2個字節的 CRC,如果不使用CRC,這兩個字節在讀取后可以丟掉。

6、禁止片選之后,發多8個CLK;

/*******************************************************************************

* Function Name : SD_ReadDisk

* Description : 讀SD卡數據

* Input : buf:數據緩存區

* sector:扇區

* cnt:扇區數

* Output : None

* Return : u8

* 0:ok

* 其他,失敗。

*******************************************************************************/

u8 SD_ReadDisk(u8*buf,u32 sector,u8 cnt)

{

u8 r1;

if(SD_Type!=SD_TYPE_V2HC)sector 《《= 9;//轉換為字節地址

if(cnt==1)

{

r1=SD_SendCmd(CMD17,sector,0X01);//讀命令

if(r1==0)//指令發送成功

{

r1=SD_RecvData(buf,512);//接收512個字節

}

}else

{

r1=SD_SendCmd(CMD18,sector,0X01);//連續讀命令

do

{

r1=SD_RecvData(buf,512);//接收512個字節

buf+=512;

}while(--cnt && r1==0);

SD_SendCmd(CMD12,0,0X01); //發送停止命令

}

SD_DisSelect();//取消片選

return r1;

}

原文標題:你必須知道的單片機存儲器的那些事!

文章出處:【微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    455

    文章

    50725

    瀏覽量

    423173
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634694
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163768

原文標題:你必須知道的單片機存儲器的那些事!

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    51單片機的主要邏輯功能部件是什么

    部件的操作。它包括算術邏輯單元(ALU),用于執行算術和邏輯運算。 2. 存儲器 程序存儲器(ROM):用于存儲程序代碼,通常是不可更改的內存,如EPROM或閃存。
    的頭像 發表于 10-18 12:49 ?394次閱讀

    單片機存儲空間不夠用了,有哪些解決辦法?

    單片機存儲空間不足時,可以考慮幾種解決方法。一種是優化程序代碼,刪除不必要的代碼和變量,提高代碼的效率和緊湊性;可以采用外部存儲器擴展,如使用外部的 EEPROM 或 Flash
    發表于 10-15 22:33

    PIC單片機的優勢和不足之處

    的核心優勢在于其CPU采用的RISC結構,這一結構精簡而高效,分別包含33、35、58條指令,構成了精簡指令集。這種設計不僅減少了指令的數量,還提高了指令的執行效率。 同時,PIC單片機采用了Harvard雙總線結構,使得程序存儲器
    的頭像 發表于 09-25 17:22 ?359次閱讀

    存儲器層次結構包括哪些

    存儲器層次結構是計算機系統中一個關鍵且復雜的部分,它決定了數據的存儲、訪問和處理效率。存儲器層次結構主要包括多個
    的頭像 發表于 09-10 14:28 ?551次閱讀

    單片機燒錄程序可以重新燒嗎

    好的程序代碼通過特定的方式寫入單片機存儲器中,使其能夠按照預定的邏輯執行任務。單片機燒錄程序可以重新燒錄,這是單片機編程和開發過程中的一個常見操作
    的頭像 發表于 09-02 10:04 ?1180次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸到單片機存儲器中,使其能夠按照程序的指令運行。這個過程通常需要使用燒錄
    的頭像 發表于 09-02 09:54 ?483次閱讀

    贛江新區黨工委專職副書記羅進走訪慰問我司高層次人才駱建輝!

    1月31日,贛江新區黨工委專職副書記羅進走訪慰問江西薩瑞微電子技術有限公司高層次人才駱建輝。與駱建輝進行了深入的交流,體現了新區對高層次人才的重視以及對科技創新的執著追求。在對薩瑞微電子的發展
    的頭像 發表于 04-13 08:38 ?648次閱讀
    贛江新區黨工委專職副書記羅進走訪慰問我司<b class='flag-5'>高層次</b>人才駱建輝!

    8-Bit 觸控式 Flash 單片機中文資料

    該系列單片機是一款 8 位具有高性能精簡指令集且完全集成觸摸按鍵功能的 Flash 單片機。此系列單片機含有觸摸按鍵功能和可多次編程的 Flash 存儲器特 性,為各種觸摸按鍵的應用提
    發表于 02-28 10:01 ?4次下載

    宙訊科技董事長周沖入選“紫金山英才計劃高層次創新創業人才”

    近日,中共南京市委人才工作領導小組發布了南京市“紫金山英才計劃高層次創新創業人才項目”評審結果,宙訊科技董事長周沖成為該項目入選人才。
    的頭像 發表于 02-26 09:23 ?883次閱讀

    存儲器層次結構如何解釋?

    存儲器層次結構可以從圖片中清晰的看出來,圖片中共分為六級,越向上的層次存儲器速度越快,容量更小,造價越高。
    的頭像 發表于 02-19 14:03 ?940次閱讀
    <b class='flag-5'>存儲器層次</b>結構如何解釋?

    淺談存儲器層次結構

    通過多級存儲器的設計,存儲器層次結構能夠在存儲容量和訪問速度之間找到一個平衡點。高速緩存存儲器和主存儲器提供了快速的訪問速度,而輔助
    發表于 02-19 13:54 ?821次閱讀
    淺談<b class='flag-5'>存儲器層次</b>結構

    簡述存儲器層次結構及其分層原因

    存儲器層次結構是計算機系統中存儲器層次化組織,分為多個層次,每個層次具有不同的訪問速度、容量
    發表于 02-05 09:46 ?2121次閱讀

    單片機為何需要Flash和EEPROM?它們有何作用?

    不同的特點和用途。 首先,讓我們了解一下Flash存儲器。Flash存儲器是一種非易失性存儲器,可以在斷電后保留數據。它以塊為單位進行擦除和寫入操作,允許多次重寫。Flash
    的頭像 發表于 01-18 11:43 ?3732次閱讀

    單片機原理及應用有哪些

    單片機(Microcontroller)是一種集成電路芯片,具備中央處理(CPU)、存儲器(RAM和ROM)、輸入/輸出(I/O)接口及定時/計數等功能模塊。它是嵌入式系統的核心組
    的頭像 發表于 01-15 16:25 ?1966次閱讀

    AvR單片機for循環需要幾個指令周期

    的Harvard架構。這種架構允許同時從程序存儲器(指令存儲器)和數據存儲器讀取指令和數據,從而提高了處理的效率。 在AvR
    的頭像 發表于 12-26 14:03 ?1193次閱讀
    主站蜘蛛池模板: 日韩娇小性hd| 免费撕开胸罩吮胸视频| 嫩草影院永久在线一二三四| 国产精品99精品无码视亚| 扒开女人下面使劲桶动态图| 樱桃熟了A级毛片| jk白丝袜美女被男人桶| 国产精品v片在线观看不卡| 久久亚洲精品AV成人无| 日日摸夜夜嗷嗷叫日日拍| 伊人免费在线| 成人精品视频| 久久中文骚妇内射| 午夜爱情动作片P| 97干97吻| 好大好爽CAO死我了BL| 秋霞电影网视频一区二区三区| 亚洲精品国偷拍自产在线| JLZZJLZZJLZ老师好多的水| 狠很橹快播| 色偷偷888欧美精品久久久| 中文亚洲大香伊蕉不卡一区| 国产精品久久久久久久A片冻果| 麻豆精品乱码WWW久久密| 亚洲国产精品天堂在线播放| 北条麻妃快播| 理论片在线观看片免费| 亚洲精品在线网址| 国产99久久亚洲综合精品西瓜tv| 美女伸开两腿让我爽| 亚洲精品国产熟女久久久| 国产不卡在线观看视频| 欧美 亚洲 日韩 中文2019| 伊人青青草原| 国产真实乱对白精彩| 色久久一个亚洲综合网| 99久久国产综合精品成人影院| 久久a级片| 亚洲精品网址| 国产人妻麻豆蜜桃色精| 色欲人妻AAAAAAA无码|