联阳IT976E读写温度传感器CT1820

这个博客详细介绍了如何使用联阳IT976E芯片来初始化并读写温度传感器CT1820的程序。通过GPIO设置和特定时序,实现对传感器的初始化、读取和写入操作。代码中包含CT1820的初始化、写入字节、读取字节等关键函数,以及读取温度值的流程。
摘要由CSDN通过智能技术生成

/********************温度传感器CT1820程序 Start*********************************/
void CT1820_GpioInit(void)
{
    ithGpioSetMode(CT1820_GPIO, ITH_GPIO_MODE0);
    ithGpioSet(CT1820_GPIO);
    ithDelay(10);
    printf("********************CT1820GpioInit\n");
}

uint8_t CT1820Init(void)
{
    uint8_t i;
    ithGpioSetOut(CT1820_GPIO);
    ithGpioClear(CT1820_GPIO);
    ithDelay(600);
    ithGpioSetIn(CT1820_GPIO);
    i = 0;
    ithDelay(80);
    if (ithGpioGet(CT1820_GPIO))
    {
        printf("\nCT1820Init failed!\n");
        return 0;  //初始化失败
    }
    ithDelay(250);
    if (!ithGpioGet(CT1820_GPIO))
    {
        printf("\nCT1820Init failed!\n");
        return 0;  //初始化失败
    }
    
//    printf("\nCT1820Init successful!\n");
    return 1;//初始化成功
}

void CT1820WriteByte(uint8_t dat)
{
    uint8_t j;
    for (j = 0; j < 8; j++)
    {
        ithGpioSetOut(CT1820_GPIO);
        ithGpioClear(CT1820_GPIO);
        ithDelay(8);
        if (dat & 0x01)
        {
            ithGpioSet(CT1820_GPIO);
        }
        ithDelay(60);
        ithGpioSetIn(CT1820_GPIO);//释放总线
    //    ithDelay(25);//如果CT1820没有接VCC,则由MCU释放总线后,由DI高电平给CT1820供电
        dat >>= 1;
    }
}

uint8_t CT1820ReadByte(void)
{
    uint8_t byte;
    uint32_t bit;
    uint8_t i, j;
    byte = 0;
    for (j = 8; j > 0; j--)
    {
        ithGpioSetOut(CT1820_GPIO);
        ithGpioClear(CT1820_GPIO);
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值