Raspberry Pi上で50msに一回GPIOの値を取得したいと考え、取得後delay(50)を追加し無限ループで回していたのですが、処理速度の影響かだんだんずれてきてしまいます。
そこで50msごとに値を取得する関数を呼び出すことで解決できると考えています。
しかし実装方法が全く思いつきません。
どなたか実装方法を教えてください。
またより良い考え方があればそちらを教えていただきたいです。
コードを下に書いておきます(追記)
C言語
1#include<stdio.h> 2#include<wiringPi.h> 3 4#define GPIO4 4 5 6int main(void){ 7 int value=0,i; 8 9 //Initialize 10 if(wiringPiSetupGpio() == -1) return 1; 11 pinMode(GPIO4, INPUT); 12 13//recieve 14 for(i=0;i<100;i++){ 15 value = digitalRead(GPIO4); 16 printf("%d",value); 17 delay(50); 18 } 19 printf("\n"); 20 21 return 0; 22}
回答3件
あなたの回答
tips
プレビュー