資源簡介
自己用普中stm32開發板做的簡易示波器,初學者作品,注釋詳細,附7000字詳細說明文檔,分享給大家共同學習。
代碼片段和文件信息
#include?“24cxx.h“
#include?“SysTick.h“
/*******************************************************************************
*?函?數?名?????????:?AT24CXX_Init
*?函數功能 ???:?AT24CXX初始化
*?輸????入?????????:?無
*?輸????出?????????:?無
*******************************************************************************/
void?AT24CXX_Init(void)
{
IIC_Init();//IIC初始化
}
/*******************************************************************************
*?函?數?名?????????:?AT24CXX_ReadOneByte
*?函數功能 ???:?在AT24CXX指定地址讀出一個數據
*?輸????入?????????:?ReadAddr:開始讀數的地址?
*?輸????出?????????:?讀到的數據
*******************************************************************************/
u8?AT24CXX_ReadOneByte(u16?ReadAddr)
{ ??
u8?temp=0; ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ???//發送寫命令
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr>>8);//發送高地址 ????
}
else?
{
IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));???//發送器件地址0XA0寫數據
}? ???
IIC_Wait_Ack();?
????IIC_Send_Byte(ReadAddr%256);???//發送低地址
IIC_Wait_Ack(); ????
IIC_Start();?? ? ???
IIC_Send_Byte(0XA1);???????????//進入接收模式 ???
IIC_Wait_Ack(); ?
????temp=IIC_Read_Byte(0); ???
????IIC_Stop();//產生一個停止條件 ????
return?temp;
}
/*******************************************************************************
*?函?數?名?????????:?AT24CXX_WriteOneByte
*?函數功能 ???:?在AT24CXX指定地址寫入一個數據
*?輸????入?????????:?WriteAddr??:寫入數據的目的地址?
?DataToWrite:要寫入的數據
*?輸????出?????????:?無
*******************************************************************************/
void?AT24CXX_WriteOneByte(u16?WriteAddru8?DataToWrite)
{ ??? ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ????//發送寫命令
IIC_Wait_Ack();
IIC_Send_Byte(WriteAddr>>8);//發送高地址 ??
}
else?
{
IIC_Send_Byte(0XA0+((WriteAddr/256)<<1));???//發送器件地址0XA0寫數據
}? ?
IIC_Wait_Ack(); ???
????IIC_Send_Byte(WriteAddr%256);???//發送低地址
IIC_Wait_Ack();? ? ?? ???
IIC_Send_Byte(DataToWrite);?????//發送字節 ???
IIC_Wait_Ack();?? ???? ???
????IIC_Stop();//產生一個停止條件?
delay_ms(10); ?
}
/*******************************************************************************
*?函?數?名?????????:?AT24CXX_WriteLenByte
*?函數功能 ???:?在AT24CXX里面的指定地址開始寫入長度為Len的數據
?用于寫入16bit或者32bit的數據
*?輸????入?????????:?WriteAddr??:寫入數據的目的地址?
?DataToWrite:要寫入的數據
?Len????????:要寫入數據的長度24
*?輸????出?????????:?無
*******************************************************************************/
void?AT24CXX_WriteLenByte(u16?WriteAddru32?DataToWriteu8?Len)
{??
u8?t;
for(t=0;t {
AT24CXX_WriteOneByte(WriteAddr+t(DataToWrite>>(8*t))&0xff);
} ????
}
/*******************************************************************************
*?函?數?名?????????:?AT24CXX_ReadLenByte
*?函數功能 ???:?在AT24CXX里面的指定地址開始讀出長度為Len的數據
?用于讀出16bit或者32bit的數據
*?輸????入?????????:?ReadAddr???:開始讀出的地址?
?Len????????:要讀出數據的長度24
*?輸????出?????????:
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-01?17:30??oscilloscope\
?????文件????????6148??2018-08-01?17:30??oscilloscope\.DS_Store
?????目錄???????????0??2018-08-01?17:31??__MACOSX\
?????目錄???????????0??2018-08-01?17:31??__MACOSX\oscilloscope\
?????文件?????????172??2018-08-01?17:30??__MACOSX\oscilloscope\._.DS_Store
?????目錄???????????0??2018-07-29?20:04??oscilloscope\.git\
?????目錄???????????0??2018-07-29?19:49??oscilloscope\.git\branches\
?????目錄???????????0??2018-08-01?17:31??__MACOSX\oscilloscope\.git\
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\._branches
?????文件??????????13??2018-07-29?19:52??oscilloscope\.git\COMMIT_EDITMSG
?????文件?????????172??2018-07-29?19:52??__MACOSX\oscilloscope\.git\._COMMIT_EDITMSG
?????文件?????????246??2018-07-29?20:04??oscilloscope\.git\config
?????文件?????????172??2018-07-29?20:04??__MACOSX\oscilloscope\.git\._config
?????文件??????????73??2018-07-29?19:49??oscilloscope\.git\desc
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\._desc
?????文件??????????23??2018-07-29?19:49??oscilloscope\.git\HEAD
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\._HEAD
?????目錄???????????0??2018-07-29?19:49??oscilloscope\.git\hooks\
?????文件?????????478??2018-07-29?19:49??oscilloscope\.git\hooks\applypatch-msg.sample
?????目錄???????????0??2018-08-01?17:31??__MACOSX\oscilloscope\.git\hooks\
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._applypatch-msg.sample
?????文件?????????896??2018-07-29?19:49??oscilloscope\.git\hooks\commit-msg.sample
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._commit-msg.sample
?????文件?????????189??2018-07-29?19:49??oscilloscope\.git\hooks\post-update.sample
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._post-update.sample
?????文件?????????424??2018-07-29?19:49??oscilloscope\.git\hooks\pre-applypatch.sample
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._pre-applypatch.sample
?????文件????????1642??2018-07-29?19:49??oscilloscope\.git\hooks\pre-commit.sample
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._pre-commit.sample
?????文件????????1348??2018-07-29?19:49??oscilloscope\.git\hooks\pre-push.sample
?????文件?????????172??2018-07-29?19:49??__MACOSX\oscilloscope\.git\hooks\._pre-push.sample
............此處省略1584個文件信息
評論
共有 條評論