12,925
回編集
268行目: | 268行目: | ||
<br><br> | <br><br> | ||
== | == SPI通信の送信 == | ||
以下の例では、非同期処理を使用して、SPI通信でデータを送信している。<br> | 以下の例では、非同期処理を使用して、SPI通信でデータを送信している。<br> | ||
<br> | <br> | ||
274行目: | 274行目: | ||
// SpiWriter.hファイル | // SpiWriter.hファイル | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||
336行目: | 281行目: | ||
#include <QCoreApplication> | #include <QCoreApplication> | ||
#include <QTimer> | #include <QTimer> | ||
#include " | #include "SpiDevice.h" | ||
int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
343行目: | 288行目: | ||
SpiWriter writer("/dev/spidev0.0"); | SpiWriter writer("/dev/spidev0.0"); | ||
SpiDevice::Config config; | |||
config.mode = SpiDevice::Mode::Mode0; | |||
config.lsbFirst = true; | |||
config.threeWire = true; | |||
config.loopback = false; | |||
config.noCs = true; | |||
config.ready = false; | |||
config.csChange = false; | |||
config.bitsPerWord = 8; | |||
config.speed = 1000000; | |||
QObject::connect(&writer, &SpiWriter::dataWritten, [](int bytes) { | QObject::connect(&writer, &SpiWriter::dataWritten, [](int bytes) { | ||
351行目: | 307行目: | ||
qDebug() << "エラーが発生: " << error; | qDebug() << "エラーが発生: " << error; | ||
}); | }); | ||
QTimer::singleShot(5000, [&writer]() { | QTimer::singleShot(5000, [&writer]() { | ||
writer.writeData(QByteArray::fromHex("0102030405")); | writer.writeData(QByteArray::fromHex("0102030405")); |