資源簡介
AMG8833.rar

代碼片段和文件信息
#include?“bsp_amg88xx.h“
#include?“bsp_iic.h“
u8?xx;
void?amg88xx_init(int?device_num)
{
amg88xx_write(AMG88xx_PCTL?AMG88xx_NORMAL_MODEdevice_num);
amg88xx_write(AMG88xx_RST?AMG88xx_INITIAL_RESETdevice_num);
amg88xx_write(AMG88xx_FPSC?AMG88xx_FPS_10device_num);
}
uint8_t?device_selector(int?deivce_num)
{
uint8_t?device_addr;
(deivce_num!=2)?(device_addr?=?AMG88xx_ADDRESS):(device_addr?=?AMG88xx_ADDRESS_2);
return?device_addr;
}
uint8_t?amg88xx_write(uint8_t?reguint8_t?dataint?device_num)
{
uint8_t?device_addr;
device_addr?=?device_selector(device_num);
????i2c_Start();
????i2c_SendByte((device_addr<<1)|0);?//發送器件地址+寫命令
????if(i2c_WaitAck())??????????//等待應答
????{
????????i2c_Stop();
????????return?1;
????}
????i2c_SendByte(reg);?????????//寫寄存器地址
????i2c_WaitAck();?????????????//等待應答
????i2c_SendByte(data);????????//發送數據
????if(i2c_WaitAck())??????????//等待ACK
????{
????????i2c_Stop();
????????return?1;
????}
????i2c_Stop();
????return?0;
}
uint8_t?amg88xx_read_len(uint8_t?reguint8_t?lenuint8_t?*bufint?device_num)
{?
uint8_t?device_addr;
device_addr?=?device_selector(device_num);
????i2c_Start();
????i2c_SendByte((device_addr<<1)|0);?//發送器件地址+寫命令
????if(i2c_WaitAck())??????????//等待應答
????{
????????i2c_Stop();
????????return?1;
????}
????i2c_SendByte(reg);?????????//寫寄存器地址
????i2c_WaitAck();?????????????//等待應答
i2c_Start();????????????????
????i2c_SendByte((device_addr<<1)|1);?//發送器件地址+讀命令
????i2c_WaitAck();?????????????//等待應答
????while(len)
????{
????????if(len==1)
{
*buf=i2c_ReadByte();//讀數據發送nACK?
i2c_NAck();
}
else?
{
*buf=i2c_ReadByte(); //讀數據發送ACK??
i2c_Ack();
}
len--;
buf++;??
????}
????i2c_Stop();?????????????????//產生一個停止條件
????return?0;???????
}
float?AMG88XX_signedMag12ToFloat(uint16_t?val)
{
//take?first?11?bits?as?absolute?val
uint16_t?absVal?=?(val?&?0x7FF);
return?(val?&?0x8000)???0?-?(float)absVal?:?(float)absVal?;
}
float?amg88xx_readThermistor(int?device_num)
{
uint8_t?device_addr;
device_addr?=?device_selector(device_num);
uint8_t?raw[2];
uint16_t?recast;
amg88xx_read_len(AMG88xx_TTHL?2?rawdevice_addr);
recast?=?((uint16_t)raw[1]?<8)?|?((uint16_t)raw[0]);
return?AMG88XX_signedMag12ToFloat(recast)?*?AMG88xx_THERMISTOR_CONVERSION;
}
void?amg88xx_readPixels(float?*buf?uint8_t?sizeint?device_num)
{
uint8_t?device_addr;
device_addr?=?device_selector(device_num);
uint16_t?recast;
float?converted;
uint8_t?rawArray[128];
amg88xx_read_len(AMG88xx_PIXEL_OFFSET?128?rawArray?device_addr);
for(int?i=0;?i {
uint8_t?pos?=?i?<1;
recast?=?((uint16_t)rawArray[pos?+?1]?<8)?|?((uint16_t)rawArray[pos]);
converted?=?AMG88XX_signedMag12ToFloat(recast)?*?AMG88xx_PIXEL_TEMP_CONVERSION;
buf[i]?=?converted;
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2987??2018-12-06?10:59??AMG8833\bsp\bsp_amg88xx.c
?????文件???????1569??2018-12-05?09:43??AMG8833\bsp\bsp_amg88xx.h
?????文件???????7085??2018-12-05?15:29??AMG8833\bsp\bsp_iic.c
?????文件???????1589??2018-12-06?20:35??AMG8833\bsp\bsp_iic.h
?????文件???????2421??2018-12-03?20:00??AMG8833\bsp\delay.c
?????文件????????169??2018-11-20?08:26??AMG8833\bsp\delay.h
?????文件???????2188??2018-11-20?08:26??AMG8833\bsp\sys.h
?????文件???????1971??2018-12-06?11:04??AMG8833\bsp\usart.c
?????文件????????180??2018-12-05?15:24??AMG8833\bsp\usart.h
?????文件??????16489??2018-11-20?08:26??AMG8833\CORE\core_cm3.c
?????文件??????83896??2018-11-20?08:26??AMG8833\CORE\core_cm3.h
?????文件??????15145??2018-11-27?15:54??AMG8833\CORE\startup_stm32f10x_hd.s
?????文件??????12458??2018-11-20?08:26??AMG8833\CORE\startup_stm32f10x_md.s
????.......????181313??2018-12-06?20:35??AMG8833\MDK\AMG88xx.uvguix.7d402
????.......?????20527??2018-12-06?11:04??AMG8833\MDK\AMG88xx.uvoptx
????.......?????20678??2018-12-03?19:58??AMG8833\MDK\AMG88xx.uvprojx
?????文件???????2403??2017-11-23?15:41??AMG8833\MDK\DebugConfig\Target_1_STM32F103RC_1.0.0.dbgconf
?????文件????????339??2018-12-05?11:24??AMG8833\MDK\EventRecorderStub.scvd
?????文件?????111167??2018-12-05?15:41??AMG8833\MDK\Jli
?????文件????????755??2018-12-03?17:28??AMG8833\MDK\Jli
?????文件??????82015??2018-12-06?11:04??AMG8833\MDK\Listings\AMG88xx.map
?????文件??????49951??2018-12-06?11:04??AMG8833\MDK\Listings\startup_stm32f10x_hd.lst
?????文件??????41842??2018-12-03?17:27??AMG8833\MDK\Listings\startup_stm32f10x_md.lst
?????文件?????317952??2018-12-06?11:04??AMG8833\MDK\ob
?????文件???????2781??2018-12-06?11:04??AMG8833\MDK\ob
?????文件??????65445??2018-12-06?11:04??AMG8833\MDK\ob
?????文件???????1214??2018-12-06?11:04??AMG8833\MDK\ob
?????文件????????494??2018-12-03?17:26??AMG8833\MDK\ob
?????文件??????30907??2018-12-06?11:04??AMG8833\MDK\ob
?????文件?????249647??2018-12-06?11:04??AMG8833\MDK\ob
............此處省略170個文件信息
- 上一篇:多傳感器數據融合
- 下一篇:project2013破解工具
評論
共有 條評論