C++のGPIOに "1"または "0"を設定する最も速い方法がありますか?私たちは、この機能を使用しているGPIOをC++(Linux)に設定する最速の方法
は今、:
void gpioSet(int gpio, int value)
{
sprintf(buf, "/sys/class/gpio/gpio%d/value", gpio);
fd = open(buf, O_WRONLY);
sprintf(buf, "%d", value);
write(fd, buf, 1);
close(fd);
}
を、この機能を使用すると、CPUは、C++の下でそれを設定するには、 "時間" を要します。
この質問の理由は、私たちがSPIにバグを持つ組み込みLinuxボードを使用しているからです。私はCS(チップセレクト)を「手動で」扱う必要があり、この機能はCSのGPIOを設定またはリセットする時間がかかります。
ありがとうございました。
私の無知を許してください(有権者と下院議員)...この質問についてはっきりしないものはありますか?彼は 'sysctl'値を書くのではなく、メモリ領域を' memmap 'することができました。これはベストプラクティスとしてより速く、または優先されるかもしれません。 – jww
私は2つの否定的な票を理解していません... –
@Kotik_o私はdownvoterではありませんが、この質問は幅があり、あなたはこのプログラムをより効率的にする努力を示していないので、 –