⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.cpp

📁 其于ARM的USB操作,控制芯片为CH375实现操作.以及其他功能.包括AC,串口操作.
💻 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 + -