• 大小: 3.22M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-11
  • 语言: 其他
  • 标签: 其他  

资源简介

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\JlinkLog.txt

     文件        755  2018-12-03 17:28  AMG8833\MDK\JlinkSettings.ini

     文件      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\objects\AMG88xx.axf

     文件       2781  2018-12-06 11:04  AMG8833\MDK\objects\AMG88xx.build_log.htm

     文件      65445  2018-12-06 11:04  AMG8833\MDK\objects\AMG88xx.htm

     文件       1214  2018-12-06 11:04  AMG8833\MDK\objects\AMG88xx.lnp

     文件        494  2018-12-03 17:26  AMG8833\MDK\objects\AMG88xx.sct

     文件      30907  2018-12-06 11:04  AMG8833\MDK\objects\AMG88xx_Target 1.dep

     文件     249647  2018-12-06 11:04  AMG8833\MDK\objects\bsp_amg88xx.crf

............此处省略170个文件信息

评论

共有 条评论