-
大小: 165KB文件類(lèi)型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-13
- 語(yǔ)言: 其他
- 標(biāo)簽:
資源簡(jiǎn)介
STM32的三軸加速度傳感器程序,親測(cè)可用。內(nèi)有詳細(xì)注釋和說(shuō)明文檔,很好的參考資料。

代碼片段和文件信息
#include?“24cxx.h“?
#include?“delay.h“? ?
////////////////////////////////////////////////////////////////////////////////// ?
//24CXX驅(qū)動(dòng)?代碼(適合24C01~24C1624C32~256未經(jīng)過(guò)測(cè)試!有待驗(yàn)證!) ???
//修改日期:2012/9/9
//版本:V1.0
//All?rights?reserved ??
//////////////////////////////////////////////////////////////////////////////////
//初始化IIC接口
void?AT24CXX_Init(void)
{
IIC_Init();
}
//在AT24CXX指定地址讀出一個(gè)數(shù)據(jù)
//ReadAddr:開(kāi)始讀數(shù)的地址??
//返回值??:讀到的數(shù)據(jù)
u8?AT24CXX_ReadOneByte(u16?ReadAddr)
{ ??
u8?temp=0; ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ???//發(fā)送寫(xiě)命令
IIC_Wait_Ack();
IIC_Send_Byte(ReadAddr>>8);//發(fā)送高地址 ????
}else?IIC_Send_Byte(0XA0+((ReadAddr/256)<<1));???//發(fā)送器件地址0XA0寫(xiě)數(shù)據(jù)? ???
IIC_Wait_Ack();?
????IIC_Send_Byte(ReadAddr%256);???//發(fā)送低地址
IIC_Wait_Ack(); ????
IIC_Start();?? ? ???
IIC_Send_Byte(0XA1);???????????//進(jìn)入接收模式 ???
IIC_Wait_Ack(); ?
????temp=IIC_Read_Byte(0); ???
????IIC_Stop();//產(chǎn)生一個(gè)停止條件 ????
return?temp;
}
//在AT24CXX指定地址寫(xiě)入一個(gè)數(shù)據(jù)
//WriteAddr??:寫(xiě)入數(shù)據(jù)的目的地址????
//DataToWrite:要寫(xiě)入的數(shù)據(jù)
void?AT24CXX_WriteOneByte(u16?WriteAddru8?DataToWrite)
{ ??? ?? ???? ?
????IIC_Start();??
if(EE_TYPE>AT24C16)
{
IIC_Send_Byte(0XA0); ????//發(fā)送寫(xiě)命令
IIC_Wait_Ack();
IIC_Send_Byte(WriteAddr>>8);//發(fā)送高地址 ??
}else?IIC_Send_Byte(0XA0+((WriteAddr/256)<<1));???//發(fā)送器件地址0XA0寫(xiě)數(shù)據(jù)? ?
IIC_Wait_Ack(); ???
????IIC_Send_Byte(WriteAddr%256);???//發(fā)送低地址
IIC_Wait_Ack();? ? ?? ???
IIC_Send_Byte(DataToWrite);?????//發(fā)送字節(jié) ???
IIC_Wait_Ack();?? ???? ???
????IIC_Stop();//產(chǎn)生一個(gè)停止條件?
delay_ms(10); ?
}
//在AT24CXX里面的指定地址開(kāi)始寫(xiě)入長(zhǎng)度為L(zhǎng)en的數(shù)據(jù)
//該函數(shù)用于寫(xiě)入16bit或者32bit的數(shù)據(jù).
//WriteAddr??:開(kāi)始寫(xiě)入的地址??
//DataToWrite:數(shù)據(jù)數(shù)組首地址
//Len????????:要寫(xiě)入數(shù)據(jù)的長(zhǎng)度24
void?AT24CXX_WriteLenByte(u16?WriteAddru32?DataToWriteu8?Len)
{??
u8?t;
for(t=0;t {
AT24CXX_WriteOneByte(WriteAddr+t(DataToWrite>>(8*t))&0xff);
} ????
}
//在AT24CXX里面的指定地址開(kāi)始讀出長(zhǎng)度為L(zhǎng)en的數(shù)據(jù)
//該函數(shù)用于讀出16bit或者32bit的數(shù)據(jù).
//ReadAddr???:開(kāi)始讀出的地址?
//返回值?????:數(shù)據(jù)
//Len????????:要讀出數(shù)據(jù)的長(zhǎng)度24
u32?AT24CXX_ReadLenByte(u16?ReadAddru8?Len)
{??
u8?t;
u32?temp=0;
for(t=0;t {
temp<<=8;
temp+=AT24CXX_ReadOneByte(ReadAddr+Len-t-1);? ? ???
}
return?temp; ????
}
//檢查AT24CXX是否正常
//這里用了24XX的最后一個(gè)地址(255)來(lái)存儲(chǔ)標(biāo)志字.
//如果用其他24C系列這個(gè)地址要修改
//返回1:檢測(cè)失敗
//返回0:檢測(cè)成功
u8?AT24CXX_Check(void)
{
u8?temp;
temp=AT24CXX_ReadOneByte(255);//避免每次開(kāi)機(jī)都寫(xiě)AT24CXX ???
if(temp==0X55)return?0; ???
else//排除第一次初始化的情況
{
AT24CXX_WriteOneByte(2550X55);
????temp=AT24CXX_ReadOneByte(255); ??
if(temp==0X55)return?0;
}
return?1; ??
}
//在AT24CXX里面的指定地址開(kāi)始讀出指定個(gè)數(shù)的數(shù)據(jù)
//ReadAddr?:開(kāi)始讀出的地址?對(duì)24c02為0~255
//pBuffer??:數(shù)據(jù)數(shù)組首地址
//NumToRead:要讀出數(shù)據(jù)的個(gè)數(shù)
void?AT24CXX_Read(u16?ReadAddru8?*pBufferu16?NumToRead)
{
while(NumToRead)
{
*pBuffer++=AT24CXX_ReadOneByte(ReadAddr++);
NumToRead--;
}
}??
//在AT24CXX里面的指定地址開(kāi)始寫(xiě)入指定個(gè)數(shù)的數(shù)據(jù)
//WriteAddr?:開(kāi)始寫(xiě)入
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件???????3661??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\24CXX\24cxx.c
?????文件???????1331??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\24CXX\24cxx.h
?????文件???????2592??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\24CXX\myiic.c
?????文件???????1159??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\24CXX\myiic.h
?????文件???????2726??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\ADC\adc.c
?????文件????????789??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\ADC\adc.h
?????文件???????4899??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\ADXL345\adxl345.c
?????文件???????2011??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\ADXL345\adxl345.h
?????文件????????554??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\BEEP\beep.c
?????文件????????482??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\BEEP\beep.h
?????文件???????7603??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\CAN\can.c
?????文件????????900??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\CAN\can.h
?????文件???????1057??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\DAC\dac.c
?????文件????????478??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\DAC\dac.h
?????文件???????1563??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\DMA\dma.c
?????文件????????574??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\DMA\dma.h
?????文件???????1741??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\EXTI\exti.c
?????文件????????447??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\EXTI\exti.h
?????文件???????9439??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\FLASH\flash.c
?????文件???????2112??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\FLASH\flash.h
?????文件???????1101??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\JOYPAD\joypad.c
?????文件????????622??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\JOYPAD\joypad.h
?????文件???????1233??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\KEY\key.c
?????文件????????626??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\KEY\key.h
?????文件??????16156??2012-08-02?00:02??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\LCD\FONT.H
?????文件??????48362??2017-11-25?21:09??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\LCD\ILI93xx.c
?????文件???????8320??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\LCD\LCD.h
?????文件????????735??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\LED\led.c
?????文件????????486??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\LED\led.h
?????文件???????6768??2017-11-25?21:08??實(shí)驗(yàn)29?三軸加速度傳感器實(shí)驗(yàn)\HARDWARE\OLED\oled.c
............此處省略84個(gè)文件信息
評(píng)論
共有 條評(píng)論