ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
1219079 Топик полностью
Costic (28.06.2022 18:08, просмотров: 188) ответил Dingo на ADS1256 : как сделать обмен с понятной архитектурой программы? Дело в том, что у этого АЦП нельзя просто взять и записать занчение или получить данные. Часть команд должны выдерживать паузы до выставления данных или снятия SS/CS. Например, для RREG (прочитать регистр) выглядит так:
Я бы делал 2 автомата состояний. 1) В main() высокоуровневый - проверяет наличие готовых данных от АЦП, состояния: IDLE, BUSY, DATA_READY. 2) В прерывании по завершении SPI-передачи. Там вот все состояния, что вы выше написали, а в конце выставляется DATA_READY. Ну, или взять FreeRTOS и между задачами гонять сигналы/события/др. 

https://www.keil.com/pack/doc/CMSIS/RTOS/html/CMSIS_RTOS_Tutorial.pdf