STM32通過(guò)SPI 與EEPROM芯片M95256進(jìn)行數(shù)據(jù)讀寫(xiě)。
//SPI1 寫(xiě)一個(gè)字節(jié) //TxData:要寫(xiě)入的字節(jié) uint8_t SPI1_WriteByte(uint8_t TxData) { HAL_SPI_Transmit(&hspi1,&TxData,1, 1000); }
//返回值:讀取到的字節(jié) uint8_t SPI1_ReadByte(void ) { uint8_t RxData; HAL_SPI_Receive(&hspi1,&RxData,1, 1000); return RxData; //返回收到的數(shù)據(jù) }
//讀字節(jié)函數(shù)
void M95256_ReadByte(uint8_t* pBuffer,uint32_t ReadAddr,uint16_t NumByteToRead)
{
uint16_t i;
// 拉低片選信號(hào)
HAL_GPIO_WritePin(NSS_GPIO_Port, NSS_Pin, GPIO_PIN_RESET);
SPI1_WriteByte(0x03) ; // 發(fā)送READ指令(0x03)
SPI1_WriteByte((ReadAddr) >> 8);
SPI1_WriteByte(ReadAddr);
// 發(fā)送dummy數(shù)據(jù)并讀取返回值
for(i=0;i
//SPI在一頁(yè)(0~65535)內(nèi)寫(xiě)入少于256個(gè)字節(jié)的數(shù)據(jù)
//在指定地址開(kāi)始寫(xiě)入最大256字節(jié)的數(shù)據(jù)
//pBuffer:數(shù)據(jù)存儲(chǔ)區(qū)
//WriteAddr:開(kāi)始寫(xiě)入的地址(16bit)
//NumByteToWrite:要寫(xiě)入的字節(jié)數(shù)(最大64),該數(shù)不應(yīng)該超過(guò)該頁(yè)的剩余字節(jié)數(shù)!!!
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) ; //寫(xiě)使能
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) ; //寫(xiě)使能 //發(fā)送寫(xiě)頁(yè)命令
SPI1_WriteByte((WriteAddr)>>8); //發(fā)送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);
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
通信
+關(guān)注
關(guān)注
18文章
6460瀏覽量
140285 -
STM32F103
+關(guān)注
關(guān)注
34文章
499瀏覽量
68246
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
國(guó)產(chǎn)替代STM32F103CBT6的32位MCU單片機(jī)參考方案
針對(duì)STM32F103CBT6等MCU單片機(jī)長(zhǎng)期存在的供應(yīng)波動(dòng)、價(jià)格上調(diào)及供應(yīng)鏈不確定性,英尚為電子推出基于國(guó)產(chǎn)自主架構(gòu)的32位MCU替代方案。英尚的32位MCU以軟件全兼容為核心設(shè)計(jì)目標(biāo),實(shí)現(xiàn)零改
國(guó)產(chǎn)MCU無(wú)縫替代新選擇:FT32F103R8AT7完美兼容STM32F103R8Tx實(shí)操解析!
在全球半導(dǎo)體供應(yīng)鏈持續(xù)波動(dòng)、國(guó)產(chǎn)替代成為產(chǎn)業(yè)共識(shí)的當(dāng)下,STM32F103R8Tx作為意法半導(dǎo)體經(jīng)典的Cortex-M3內(nèi)核MCU,雖長(zhǎng)期占據(jù)消費(fèi)電子、工業(yè)控制等領(lǐng)域的核心地位,卻也面臨著交貨周期長(zhǎng)
基于STM32F103驅(qū)動(dòng)DAC1220 20位/16位DAC數(shù)模轉(zhuǎn)換模塊輸出可調(diào)±10V基準(zhǔn)和三角波信號(hào)
小等特點(diǎn)。工作電壓5V,20位模式下建立時(shí)間15ms,16位模式僅需2ms。本文將用STM32F103驅(qū)動(dòng)DAC1220,實(shí)現(xiàn)生成三角波信號(hào)輸出。模塊可用于工業(yè)控制、傳感器激勵(lì)等高精度場(chǎng)景。
CW32L012與STM32F103的三角運(yùn)算性能對(duì)比
? ?CW32L012和STM32F103在定位和性能上差異顯著,在三角函數(shù)的運(yùn)算性能上的對(duì)比亦非常直觀。 一、 硬件架構(gòu)對(duì)比(性能基礎(chǔ)) 芯片型號(hào) CW32L012C8 STM32F103
【新品上市】華清遠(yuǎn)見(jiàn)AIoT實(shí)戰(zhàn)平臺(tái)-STM32F103&ESP32-S3 AI開(kāi)發(fā)板套件,玩轉(zhuǎn)小智AI桌寵機(jī)器狗智能車(chē)等項(xiàng)目
:以ESP32-S3作為AI中樞,承擔(dān)視覺(jué)識(shí)別、語(yǔ)音交互及WiFi/BLE無(wú)線通信任務(wù);以STM32F103作為控制核心,實(shí)現(xiàn)實(shí)時(shí)運(yùn)動(dòng)控制與多傳感器數(shù)據(jù)融合,二者通過(guò)UAR
關(guān)于TMC2208與TMC2209的區(qū)別及基于STM32F103控制TMC2209模塊驅(qū)動(dòng)2相4線步進(jìn)電機(jī)
技術(shù),TMC2208提供2 - 32微步選擇,TMC2209支持8 - 64微步選擇。文章最后提供了STM32F103控制TMC2208/TMC2209驅(qū)動(dòng)42步進(jìn)電機(jī)的程序。
MH32F103A系列單片機(jī)的功能特性
MH32F103A是一款硬件完美兼容ST32的國(guó)產(chǎn)32位單片機(jī),使用高性能的ARM Cortex-M3 內(nèi)核,最高工作頻率216 MHz。內(nèi)置最大512K Flash,96K Sram存儲(chǔ)器。MH32F103A 軟硬件兼容
CherryUSB +STM32F103C8 example usb cdc device不識(shí)別是怎么回事?
請(qǐng)問(wèn)下使用stm32F103 blue pill 板子
1.按照文檔教程 及 視頻教程 使用https://github.com/CherryUSB/cherryusb_stm32 中
發(fā)表于 09-10 07:03
STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗怎么解決?
STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢的方式發(fā)送數(shù)據(jù),然后判斷USART_FLAG_TC是否發(fā)送成功,在大量發(fā)送后出現(xiàn)了一次發(fā)送后USART_FLAG_TC沒(méi)有置位,然后就一直卡在這里了,這可如何是好?
發(fā)表于 07-30 07:55
在STM32F103c8上做DLQR最優(yōu)控制算法的C編程資料
這是我近期做的一個(gè)項(xiàng)目--基于STM32F103c8的DLQR控制算法的C編程,涉及DLQR最優(yōu)控制算法、嵌入式STM32F103編程、CMSIS-DSP庫(kù)使用。? ??附有完整的程序。
發(fā)表于 07-23 15:30
?0次下載
STM32F103驅(qū)動(dòng)LD3320語(yǔ)音識(shí)別模塊
本文介紹了如何使用STM32F103微控制器驅(qū)動(dòng)LD3320語(yǔ)音識(shí)別模塊,該模塊具備非特定人語(yǔ)音識(shí)別功能,支持動(dòng)態(tài)編輯關(guān)鍵詞,且無(wú)需額外Flash和RAM。通過(guò)SPI接口連接并配置代碼,實(shí)現(xiàn)在不同指令下執(zhí)行相應(yīng)操作,如流水燈、閃爍等。實(shí)驗(yàn)結(jié)果顯示,STM32能成功識(shí)別并響
STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)
電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè).pdf》資料
發(fā)表于 06-06 17:06
?17次下載
【硬核項(xiàng)目】STM32F103 智能小車(chē)全棧開(kāi)發(fā):紅外循跡 / 避障算法 + WiFi 遠(yuǎn)程控制,附原理圖與代碼
今天為大家推薦一款功能強(qiáng)大的STM32多功能智能小車(chē)——華清遠(yuǎn)見(jiàn)STM32F103智能云控小車(chē)。這款小車(chē)集紅外遙控、遠(yuǎn)程物聯(lián)控制、智能循跡、超聲波避障和交互式顯示屏五大核心功能于一體,融合了物聯(lián)網(wǎng)云
CS32F103RB有無(wú)驅(qū)動(dòng)例程,是否可用stm32F103的驅(qū)動(dòng)代碼?
如果不能使用stm32F103驅(qū)動(dòng)的話,請(qǐng)把驅(qū)動(dòng)例程發(fā)送1830665518@qqcom
發(fā)表于 05-15 10:54
STM32F103與M9525EEPROM的通信例程
評(píng)論