STM32通過SPI 與EEPROM芯片M95256進行數據讀寫。
//SPI1 寫一個字節 //TxData:要寫入的字節 uint8_t SPI1_WriteByte(uint8_t TxData) { HAL_SPI_Transmit(&hspi1,&TxData,1, 1000); }
//返回值:讀取到的字節 uint8_t SPI1_ReadByte(void ) { uint8_t RxData; HAL_SPI_Receive(&hspi1,&RxData,1, 1000); return RxData; //返回收到的數據 }
//讀字節函數
void M95256_ReadByte(uint8_t* pBuffer,uint32_t ReadAddr,uint16_t NumByteToRead)
{
uint16_t i;
// 拉低片選信號
HAL_GPIO_WritePin(NSS_GPIO_Port, NSS_Pin, GPIO_PIN_RESET);
SPI1_WriteByte(0x03) ; // 發送READ指令(0x03)
SPI1_WriteByte((ReadAddr) >> 8);
SPI1_WriteByte(ReadAddr);
// 發送dummy數據并讀取返回值
for(i=0;i
//SPI在一頁(0~65535)內寫入少于256個字節的數據
//在指定地址開始寫入最大256字節的數據
//pBuffer:數據存儲區
//WriteAddr:開始寫入的地址(16bit)
//NumByteToWrite:要寫入的字節數(最大64),該數不應該超過該頁的剩余字節數!!!
void Write_Byte(uint8_t* pBuffer,uint32_t WriteAddr,uint16_t NumByteToWrite)
{
uint16_t i;
HAL_GPIO_WritePin(NSS_GPIO_Port, NSS_Pin, GPIO_PIN_RESET); //使能器件
SPI1_WriteByte(0x06) ; //寫使能
HAL_GPIO_WritePin(NSS_GPIO_Port, NSS_Pin, GPIO_PIN_SET); //取消片選
HAL_GPIO_WritePin(NSS_GPIO_Port, NSS_Pin, GPIO_PIN_RESET); //使能器件
SPI1_WriteByte(0x02) ; //寫使能 //發送寫頁命令
SPI1_WriteByte((WriteAddr)>>8); //發送16bit地址
SPI1_WriteByte(WriteAddr);
for(i=0;i
main.c
uint8_t RXtxt_Buffer[100];
const uint8_t TEXT_Buffer[]={0x55,0xaa,0x55,0x55,0x55,0x55,0x55};
Write_Byte((uint8_t*)&TEXT_Buffer1,0x3001,7);
HAL_Delay(2000);
M95256_ReadByte(RXtxt_Buffer,0x3001,7);
printf("M95256_Read Data:%drn", RXtxt_Buffer[0]); //串口打印信息
printf("M95256_Read Data:%drn", RXtxt_Buffer[1]); //串口打印信息
printf("M95256_Read Data:%drn", RXtxt_Buffer[2]); //串口打印信息
printf("M95256_Read Data:%drn", RXtxt_Buffer[6]); //串口打印信息
HAL_Delay(1000);
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
通信
+關注
關注
18文章
6399瀏覽量
140086 -
STM32F103
+關注
關注
34文章
496瀏覽量
67814
發布評論請先 登錄
相關推薦
熱點推薦
國產MCU無縫替代新選擇:FT32F103R8AT7完美兼容STM32F103R8Tx實操解析!
在全球半導體供應鏈持續波動、國產替代成為產業共識的當下,STM32F103R8Tx作為意法半導體經典的Cortex-M3內核MCU,雖長期占據消費電子、工業控制等領域的核心地位,卻也面臨著交貨周期長
CW32L012與STM32F103的三角運算性能對比
? ?CW32L012和STM32F103在定位和性能上差異顯著,在三角函數的運算性能上的對比亦非常直觀。 一、 硬件架構對比(性能基礎) 芯片型號 CW32L012C8 STM32F103
【新品上市】華清遠見AIoT實戰平臺-STM32F103&ESP32-S3 AI開發板套件,玩轉小智AI桌寵機器狗智能車等項目
:以ESP32-S3作為AI中樞,承擔視覺識別、語音交互及WiFi/BLE無線通信任務;以STM32F103作為控制核心,實現實時運動控制與多傳感器數據融合,二者通過UAR
MH32F103A系列單片機的功能特性
MH32F103A是一款硬件完美兼容ST32的國產32位單片機,使用高性能的ARM Cortex-M3 內核,最高工作頻率216 MHz。內置最大512K Flash,96K Sram存儲器。MH32F103A 軟硬件兼容
CherryUSB +STM32F103C8 example usb cdc device不識別是怎么回事?
請問下使用stm32F103 blue pill 板子
1.按照文檔教程 及 視頻教程 使用https://github.com/CherryUSB/cherryusb_stm32 中
發表于 09-10 07:03
STM32F103長時間運行,串口發送失敗怎么解決?
STM32F103長時間運行,串口發送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢的方式發送數據,然后判斷USART_FLAG_TC是否發送成功,在大量發送后出現了一次發送后USART_FLAG_TC沒有置位,然后就一直卡在這里了,這可如何是好?
發表于 07-30 07:55
在STM32F103c8上做DLQR最優控制算法的C編程資料
這是我近期做的一個項目--基于STM32F103c8的DLQR控制算法的C編程,涉及DLQR最優控制算法、嵌入式STM32F103編程、CMSIS-DSP庫使用。? ??附有完整的程序。
發表于 07-23 15:30
?0次下載
STM32F103驅動LD3320語音識別模塊
本文介紹了如何使用STM32F103微控制器驅動LD3320語音識別模塊,該模塊具備非特定人語音識別功能,支持動態編輯關鍵詞,且無需額外Flash和RAM。通過SPI接口連接并配置代碼,實現在不同指令下執行相應操作,如流水燈、閃爍等。實驗結果顯示,STM32能成功識別并響
STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊
電子發燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料
發表于 06-06 17:06
?17次下載
【硬核項目】STM32F103 智能小車全棧開發:紅外循跡 / 避障算法 + WiFi 遠程控制,附原理圖與代碼
今天為大家推薦一款功能強大的STM32多功能智能小車——華清遠見STM32F103智能云控小車。這款小車集紅外遙控、遠程物聯控制、智能循跡、超聲波避障和交互式顯示屏五大核心功能于一體,融合了物聯網云
STM32F103×8/STM32F103×B MCU手冊
本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機械器件特性。有關整個STMicroelectronics STM32F103xx系列的更多信息,請
發表于 03-18 16:37
?0次下載
STM32F103與M9525EEPROM的通信例程
評論