ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
2 июля
65111 Топик полностью
rezident (14.08.2006 17:41, просмотров: 1) ответил temik на интересно :) а как без прерывания данные читать-писать?
Дык элементарно. По опросу флагов USART, которые являются источниками прерываний. Кстати, для работы с USART в режиме SPI прерывания не очень и нужны. Вход/выход в прерывание это уже 6+5=11 тактов. А если там еще чего-нибудь поделать (типа считать/записать буфер и инкрементировать счетчик), то это еще 5-8 тактов. Итого >=16 тактов процессора. Но если учесть, что в режиме SPI USART может тактироваться частотой UCLK=SMCLK/2, то получается, что 8 битный обмен произойдет за то же самое время. А если еще вспомнить, что команды в 1 байт для управления DataFlash нету, то получается, что нужно гнать поток, скорость которого мало отличается от реальной производительности SPI. Я так и делаю. Т.е. обмен по SPI у меня это цикл на заданное количество байт (зависит от длины посылки), в теле которого опрос флагов USART и запись/чтение буферов передатчика/приемника.