-
大小: 3KB文件類型: .zip金幣: 2下載: 1 次發(fā)布日期: 2021-06-07
- 語(yǔ)言: 其他
- 標(biāo)簽: 15單片機(jī)??驅(qū)動(dòng)代碼??
資源簡(jiǎn)介
本資源主要是以stc15w60s2為開(kāi)發(fā)平臺(tái),進(jìn)行鐵電讀取與擦寫實(shí)驗(yàn),適用于數(shù)據(jù)的快速存儲(chǔ)與高擦寫次數(shù)的研究。

代碼片段和文件信息
#include?“fm25xx.h“
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//?*******************************************************************??
//?模擬SPI通訊?--?寫FM25040B
//?*******************************************************************?
void?FM_WriteByte(u8?dat)
{
u8?i;
for(i?=?0;i?8;i++)
{
FM_SCK?=?0;
// Delay1us();
if(dat?&?0x80) ?
FM_MOSI?=?1;
else
FM_MOSI?=?0;
dat?<<=?1;
// Delay1us();
FM_SCK?=?1;
// Delay1us();
}
FM_SCK?=?0;
// Delay1us();
}
//?*******************************************************************??
//?模擬SPI通訊?--?讀FM25040B
//?*******************************************************************?
u8?FM_ReadByte()
{
u8?idat?=?0;
for(i?=?0;i?8;i++)
{
FM_SCK?=?0;
// Delay1us();
dat?<<=?1;
if(FM_MISO?==?1)
dat??|=?0x01;
// Delay1us();
FM_SCK?=?1;
// Delay1us();
}
FM_SCK?=?0;
// Delay1us();
return?dat;
}
//?*******************************************************************
//FM25040寫使能
//
//?*******************************************************************
void?FM_WriteEnable()
{
FM_CS?=?0; //片選使能
// delay_us(1);
FM_WriteByte(FM_WREN); //發(fā)送寫使能指令
????
FM_CS?=?1; //片選失能
// delay_us(1);
}
//?*******************************************************************
//FM25040寫禁止
//
//?*******************************************************************
void?FM_WriteDisable()
{
FM_CS?=?0; //片選使能
// delay_us(1);
FM_WriteByte(FM_WRDI); //發(fā)送寫失能指令
FM_CS?=?1; //片選失能
// delay_us(1);
}
//?*******************************************************************
//FM25040寫狀態(tài)寄存器
//
//?*******************************************************************
void?FM_WriteStateRegister(u8?cmd)
{
FM_WriteEnable(); //寫使能
FM_CS?=?0; //片選使能
// delay_us(1);
FM_WriteByte(FM_WRSR); //發(fā)送寫狀態(tài)寄存器指令
FM_WriteByte(cmd); //發(fā)送命令
FM_CS?=?1; //片選失能
// delay_us(1);
}
//?*******************************************************************
//FM25040讀狀態(tài)寄存器
//
//?*******************************************************************
u8?FM_ReadStateRegister()
{
u8?tmp;
FM_WriteEnable(); //寫使能
FM_CS?=?0; //寫使能
// delay_us(1);
FM_WriteByte(FM_RDSR); //發(fā)送讀狀態(tài)寄存器指令
tmp?=?FM_ReadByte(); //讀取寄存器狀態(tài)
FM_CS?=?1; //片選失能
// delay_us(1);
return?tmp;
}
////?*******************************************************************
////FM25040讀數(shù)據(jù)
////addr:?共9位地址
////讀取SPI?FLASH??
////在指定地址開(kāi)始讀取指定長(zhǎng)度的數(shù)據(jù)
////pBuffer:數(shù)據(jù)存儲(chǔ)區(qū)
////ReadAddr:開(kāi)始讀取的地址(24bit)
////NumByteToRead:要讀取的字節(jié)數(shù)(最大65535)
////u8?FM_Read(u8*?pBufferu32?ReadAddru16?NumByteToRead)?
////返回:0(成功),1(失敗)
////?*******************************************************************
//u8?FM_Read(u8*?pBufferu16?ReadAddru16?NumB
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????13293??2018-09-11?11:52??FM25xx\fm25xx.c
?????文件????????1174??2018-09-07?09:18??FM25xx\fm25xx.h
?????目錄???????????0??2018-12-13?13:44??FM25xx\
- 上一篇:Zxing3.1版
- 下一篇:delphi打印收銀小票的兩種方式
評(píng)論
共有 條評(píng)論