ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
696129
AU08 (28.08.2016 22:12 - 22:18, просмотров: 3361)
Интересно, почему происходит "Фигвам", а не инвертирование SCK для SPI.C в ATXMEGA256A3U? Где искать? Для линии данных всё прекрасно, порт штатно настраивается на аппаратную инверсию. PORTC.OUT = 0; PORTC.PIN5CTRL = PORT_INVEN_bm|PORT_OPC_TOTEM_gc;//и инверсия Для SCK, казалось, что тоже будет всё просто: PORTC.PIN7CTRL = PORT_INVEN_bm|PORT_OPC_TOTEM_gc;//и инверсия PORTC.OUTСLR = (1<<7); // set to low bit 7 т.к. на порту инверсия А вот и нет. После замены 74HC1G14 на 74LVC1G17 и программной настройки порта на инверсию в статике всё прекрасно, логические уровни как положено, следовательно настройки порта влияют. В "динамике" же связь по SPI работать перестаёт: // настроить SPIC SPIC.CTRL=SPI_ENABLE_bm|SPI_MASTER_bm|SPI_MODE_0_gc|divider; // частота 250 кГц devnull=SPIC.DATA; SPIC.DATA = (cmd_word>>8); // записать первый байт while(!(SPIC.STATUS&SPI_IF_bm));// подождать окончания передачи SPIC.DATA = (cmd_word&0xFF); // записать второй байт while(!(SPIC.STATUS&SPI_IF_bm));// подождать окончания передачи SPIC.CTRL=0;
Что такое асимметричный ответ? Это когда о тебе негативно отзываются в комментарии, а ты об авторе этого комментария пишешь хорошо и по-доброму: в некрологе!