0

我正在尝试使用 FreeRTOS 从 LPC1769 板的视差 SHT11 模块中读取数据。

我找到了这个例子 http://wiring.org.co/learning/basics/humiditytemperaturesht11.html

我正在尝试移植到 LPC1769

是否有类似于 shitOut 功能的东西?

我对 mbed 的了解很少,我应该在哪个 pin 上写?

LPC_GPIO0->?????

我读过关于 LPC_GPIOX->FIOPIN 存储当前引脚值的信息,在这里吗?

4

1 回答 1

0

对不起...

我刚刚找到了 shiftOut() 函数的实现:

void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
{
uint8_t i;
digitalWrite(clockPin, LOW);    
for (i = 0; i < 8; i++)  {
    if (bitOrder == LSBFIRST)
        digitalWrite(dataPin, !!(val & (1 << i)));
    else    
        digitalWrite(dataPin, !!(val & (1 << (7 - i))));
    digitalWrite(clockPin, HIGH);
    digitalWrite(clockPin, LOW);    
}
}

目前我只想支持 MSBFIRST,所以我的功能看起来像......

#define GPIO0_WRITE(Pin,Value)   if ( Value == 0 ) { LPC_GPIO0->FIOCLR|= ( 1 << Pin); } else { LPC_GPIO0->FIOSET |= ( 1 << Pin); }


GPIO0_WRITE(CLOCK_PIN, LOW);   
for (i = 0; i < 8; i++)
{
    GPIO0_WRITE(DATA_PIN, !!(CMD_TEMPERATURE & (1 << (7 - i))));

    GPIO0_WRITE(CLOCK_PIN,HIGH);
    GPIO0_WRITE(CLOCK_PIN,LOW);
}

欢迎任何建议。

于 2013-05-10T20:00:12.710 回答