использовать .NET MF для реализации цифрового датчика отражения? - PullRequest
1 голос
/ 30 октября 2011

Я использую .NET MF с микроконтроллером и цифровым датчиком отражения. Мне нужно реализовать следующий псевдокод в C # для чтения с датчика. Я использую GHIElectronics.NETMF.FEZ для портов ввода / вывода. Это продукт, который я использую http://www.sparkfun.com/products/9454

int QRE1113_Pin = 2; //connected to digital 2

void setup(){
Serial.begin(9600);
}

void loop(){

int QRE_Value = readQD();
Serial.println(QRE_Value); 

}

int readQD(){
//Returns value from the QRE1113 
//Lower numbers mean more refleacive
//More than 3000 means nothing was reflected.
pinMode( QRE1113_Pin, OUTPUT );
digitalWrite( QRE1113_Pin, HIGH );
delayMicroseconds(10);
pinMode( QRE1113_Pin, INPUT );

long time = micros();

//time how long the input is HIGH, but quit after 3ms as nothing happens after that
while (digitalRead(QRE1113_Pin) == HIGH && micros() - time < 3000);
int diff = micros() - time;

return diff;

РЕДАКТИРОВАТЬ: я использую

new InputPort((Cpu.Pin)FEZ_Pin.Digital.IO44, false, Port.ResistorMode.Disabled)

для создания входных портов и

new OutputPort((Cpu.Pin)FEZ_Pin.Digital.IO44, false)

для создания выходных портов, но я не знаю, как изменить режим вывода с Out на In или установить вывод как HIGH

...