TI中文支持网
TI专业的中文技术问题搜集分享网站

LM71使用读取问题

在使用LM71时,我写的驱动测试时发现只能读取到全0或者全1(开始的几次测试读到的都是全0,后来的测试中不知道为什么都读到的是全1),我不是很理解为什么我的代码不能正常运行,难道是我时序问题?

以下是我的部分代码:

u8 LM71_ReadByte()
{
    GPIO_PinModeSet(LM71_Port, LM71_SIO, gpioModeInputPullFilter, 0);
    u8 i = 0;
    u8 tmp = 0;
    u8 SDI;
    for (i = 0; i < 8; ++i) {
        GPIO_PinOutSet(LM71_Port, LM71_SC); //上升沿        delay(100);
        SDI = (u8)GPIO_PinInGet(LM71_Port, LM71_SIO);
        tmp <<= 1;
        if (SDI) {
            ++tmp;
        }
        GPIO_PinOutClear(LM71_Port, LM71_SC); //下降沿        delay(100);    }
    return tmp;
}

Kailyn Chen:

读到的全是0或全是1,是不是寄存器就没写成功呢

Light Lee:

回复 Kailyn Chen:

主机的时序不是先读后写么?

Light Lee:

原因应该是我没有满足在LM71传输数据之前需要一定的转换时间这个条件,把这个转换时延边长就解决了。

赞(0)
未经允许不得转载:TI中文支持网 » LM71使用读取问题
分享到: 更多 (0)