-
- Содержимое writeSPI() не мешало бы тоже. - SciFi(24.01.2021 13:52)
- Эта функция работает. Индикатор светится от неё адекватно. seryy(96 знак., 24.01.2021 14:02)
- В документации (efm8lb1-rm.pdf) английским по белому написано, что
при каждой передаче по SPI в режиме мастера надо считывать данные
из регистра SPInDAT (пункт 3). Вариант SciFi должен работать. teap0t(1 знак., 24.01.2021 17:04, ссылка, картинка)
- Посыпаю голову пеплом. Действительно в разделе 19.3.5 "Basic Data Transfer Master Transfers" есть пункт 3, который я проморгал. seryy(177 знак., 25.01.2021 15:33)
- Чтобы снять вопросы с возможным FIFO, можно делать чтение там же: SciFi(117 знак., 24.01.2021 14:25)
- Как НЕ знаток EFM8, даже не буду спрашивать что такое SPI0CN0_SPIF.
Но скажу совершенно точно, что этот флаг устанавливается ДО того,
как происходит полный обмен по SPI и в регистре данных SPI0DAT
появляется заветный байт, который ты видишь осциллографом. Тут не
надо быть Шерлоком или еще кем-то. il-2(101 знак., 24.01.2021 14:25)
- Это из рубрики "пляски с бубном": SciFi(521 знак., 24.01.2021 14:28)
- Наверное я не прав, я тоже не поленился заглянуть в даташит.
Топикстартер, кстати, признался ниже, что SPI имеет FIFO на 2
байта. А он читает из регистра данных только один раз, т.е. читает
как раз ПРЕДПОСЛЕДНИЙ байт. Эй, seryy!!! Слыхал??? ЗЫ: Вариант
функции от SciFi как раз решит проблему выгребания FIFO. - il-2(24.01.2021 14:42)
- Я ж сказал, что с FIFO поработаю завтра... :) seryy(49 знак., 24.01.2021 14:42)
- Наверное я не прав, я тоже не поленился заглянуть в даташит.
Топикстартер, кстати, признался ниже, что SPI имеет FIFO на 2
байта. А он читает из регистра данных только один раз, т.е. читает
как раз ПРЕДПОСЛЕДНИЙ байт. Эй, seryy!!! Слыхал??? ЗЫ: Вариант
функции от SciFi как раз решит проблему выгребания FIFO. - il-2(24.01.2021 14:42)
- Это из рубрики "пляски с бубном": SciFi(521 знак., 24.01.2021 14:28)
- В документации (efm8lb1-rm.pdf) английским по белому написано, что
при каждой передаче по SPI в режиме мастера надо считывать данные
из регистра SPInDAT (пункт 3). Вариант SciFi должен работать. teap0t(1 знак., 24.01.2021 17:04, ссылка, картинка)
- Эта функция работает. Индикатор светится от неё адекватно. seryy(96 знак., 24.01.2021 14:02)
- Содержимое writeSPI() не мешало бы тоже. - SciFi(24.01.2021 13:52)