У меня проблема с сопряжением MSP430F169 и высокоскоростного АЦП ADS7861 по последовательному интерфейсу SPI. Дело в том, что когда м-р выступает в роли ведущего, чтобы принять данные от АЦП, он должен записать какой-либо символ в буфер передачи U0TXBUF, так как операции передачи и приёма выполняются одновременно. Чтобы инициировать преобразование и одновременно передачу данных с АЦП нужно подать логическую единицу на вход CONVST и RD , причём при этом соблюсти некоторые условия. Преобразование инициируется, когда высокий уровень на CONVST удерживается 15нс. Важно чтобы CONVST находился в состоянии логической единицы минимум 10 нс. прежде переднего фронта внешнего генератора тактового сигнала или 5нс позади переднего фронта. В качестве внешнего генератора используется XT2CLK(8Мгц). На нём также производится основное тактирование MCLK м-ра. Так вот, мне не понятно как читать данные с этого АЦП. Когда я подам высокий уровень на CONVST и RD, данные начнут передаваться м-ру. Однако чтобы м-р начал принимать данные, нужно записать какой-либо символ в буфер передачи U0TXBUF. Произойдёт рассинхронизация процесса, т.е. данные на м-р уже идут, а м-р тем временем ещё выполняет инструкцию (MOV.B #Xh,&U0TXBUF), чтобы только начать читать эти данные.
Документация ADS7861