-
- у spi нету fifo - Aleksey_75(03.03.2020 18:25)
- у какого STM32 нету? В STM32L476 есть Лагунов(03.03.2020 19:30 - 19:34)
- у мну нету - Aleksey_75(03.03.2020 19:37)
- барабашка какая-то, вкладываю исходники Aleksey_75(872 знак., 03.03.2020 18:30 - 18:34)
- Короче, слухай сюды: il-2(895 знак., 06.03.2020 12:27)
- Ничего не понимаю. Приём и передача у SPI работают одновременно жеж. Почему в коде как бы сначала ждём окончания передачи, потом пытаемся что-то принять? Ведь поздно принимать. Ну и просто к сведению: "DMA_CCR &= ~EN" работает не сразу, желательно SciFi(45 знак., 03.03.2020 21:23)
- Вы о чем ?? "Почему в коде как бы сначала ждём окончания передачи, потом пытаемся что-то принять?" это почему поздно то ? в DR принятый байт и он будет там лежать пока мы не поместим туда данные для отправки! Короч! я не одинок! похоже глюк Aleksey_75(43 знак., 03.03.2020 21:30, ссылка)
- Ээээ? регистр DR для приема, и регистр DR для передачи, суть разные физически регистры. Поэтому фраза " в DR принятый байт и он будет там лежать пока мы не поместим туда данные для отправки" лишена смысла. - Rainman62(06.03.2020 06:08)
- вообще говоря меня картинки из RM в ступор вводят, судя по картинкам DMA в DR задвигает второй байт после отправки первого БИТА первого байта, что там можно принять в первом байте ХЗ! Aleksey_75(03.03.2020 21:35)
- веселый spi! выкинул DMA, по флагам "ручками" гружу/выгружаю DR и опять смещение на один байт! Все нормально получается если перед первым байтом прочитать DR? почему с dma это не прокатывает хз(( - Aleksey_75(03.03.2020 22:00)
- Просто не разобрался. Впрочем, если и без DMA работает, зачем грузиться лишний раз? Мы уже не так молоды для этих упражнений. И ещё не так стары, чтобы отгонять альцгеймера ребусами. - SciFi(03.03.2020 22:11)
- )) ну работает тоже через ЖО, перед транзакцией надо читать DR! Почему заморочился с дма, т.к. бывают очень большие пакеты 4-8К в связи с этим и не создал локальный буфер чтоб за один раз все выплевывать, да и колбек там можно поставить чтоб Aleksey_75(327 знак., 03.03.2020 22:18)
- Просто не разобрался. Впрочем, если и без DMA работает, зачем грузиться лишний раз? Мы уже не так молоды для этих упражнений. И ещё не так стары, чтобы отгонять альцгеймера ребусами. - SciFi(03.03.2020 22:11)
- веселый spi! выкинул DMA, по флагам "ручками" гружу/выгружаю DR и опять смещение на один байт! Все нормально получается если перед первым байтом прочитать DR? почему с dma это не прокатывает хз(( - Aleksey_75(03.03.2020 22:00)
- Виноват, не дочитал. Всё-таки CCR_EN надо ждать (про это в доке не написано, это да). У меня так: SciFi(1033 знак., 03.03.2020 21:35)
- Вы о чем ?? "Почему в коде как бы сначала ждём окончания передачи, потом пытаемся что-то принять?" это почему поздно то ? в DR принятый байт и он будет там лежать пока мы не поместим туда данные для отправки! Короч! я не одинок! похоже глюк Aleksey_75(43 знак., 03.03.2020 21:30, ссылка)
- Вот мой код: evgeniy1294(1687 знак., 03.03.2020 21:15)
- В этих недоконтроллерах, в отличии от NXP, fifo табу ;) - Гудвин(03.03.2020 18:30)
- у какого STM32 нету? В STM32L476 есть Лагунов(03.03.2020 19:30 - 19:34)
- у spi нету fifo - Aleksey_75(03.03.2020 18:25)