📄 flash.cpp
字号:
/********************************************************
//功能描述:flash操作库函数
//文件名 :flash.cpp
//
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 11:25
//
//注 意:本程序只能在RAM中运行,对flash操作时必须关闭中断
// 因为对FLASH操作时FLASH为不可读状态,而中断向量又
// 在FLASH中.
*********************************************************/
#include "flash.h"
extern OS_EVENT *UART0_SEM ; //UART 0信号量
/********************************************************
//功能描述:构造函数
//函数入口:无
//函数出口:无
//操 作:无
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 11:30
*********************************************************/
CFlash::CFlash()
{
}
/********************************************************
//功能描述:析构造函数
//函数入口:无
//函数出口:无
//操 作:无
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 11:35
*********************************************************/
CFlash::~CFlash()
{
}
/********************************************************
//功能描述:读取一个半字
//函数入口:add=地址,data=读取的半字
//函数出口:无
//操 作:读取一个半字
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 15:08
*********************************************************/
void CFlash::ReadByte( U32 add , U16 &data )
{
data = *( (U16*)( add<<1 ) );
}
/********************************************************
//功能描述:析构造函数
//函数入口:无
//函数出口:无
//操 作:无
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 15:12
*********************************************************/
void CFlash::WriteByte( U32 add, U16 data)
{
*( (U16*)( add<<1 ) ) = (U16)data;
}
/********************************************************
//功能描述:读取器件ID
//函数入口:targ=存储器件ID的数据缓冲区
//函数出口:无
//操 作:无
//版 本:V1.00
//作 者:周登勇
//时 间:2004.11.02 15:15
*********************************************************/
void CFlash::GetFlashID( U16* targ )
{
//OS_ENTER_CRITICAL();//关中断
//进入ID读取模式
WriteByte( 0x0000 , 0xf0 );
WriteByte( 0x5555 , 0xaa );
WriteByte( 0x2aaa , 0x55 );
WriteByte( 0x5555 , 0x90 );
ReadByte( 0x00, *targ);
targ++;
ReadByte( 0x01, *targ);
//WriteByte( 0x5555 , 0xaa );
//WriteByte( 0x2aaa , 0x55 );
WriteByte( 0x0000 , 0xf0 );
//OS_EXIT_CRITICAL();//开中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -