У меня есть программа qt. У меня есть CAN-запросы, которые я хочу отправить в последовательном порядке. Я хочу дождаться ответов, прежде чем отправлять другие запросы.Qt как сделать блокировку ждать до получения данных
SendReadLatchCommand(fam,prod,addr,0x00000000, 4); // 1st request
// wait for answer and analyze it??
SendReadLatchCommand(fam,prod,addr,0x00000002, 4); // 2nd request
У меня есть метод в receiveData(), называемом моей резьбой приема, где я сохранить полученное сообщение.
Я хочу спать в своей основной программе, и мы пробуждаемся при получении ответа.
Я не могу использовать сигнал/слот, потому что в слоте я не знаю, что такое последний запрос, который я отправил, поэтому я не могу продолжать выдавать запросы.
Как я могу это сделать? спасибо
waitForReadData(), но на самом деле пытаются извлечь его в слот, один путь с QStateMachines (если немного избыточна) –