-
- да все верно! никак не могу привыкнуть что кортексы выкидывают
флаги по велению левой ноги - Aleksey_75(07.05.2021 00:23)
- Так во всех "продвинутых". Грузить ДМА нужно по "buffer empty" а
отрабатывать конец передачи имана по концу передачи. Точно так-же и
в АВР. - mse homjak(07.05.2021 00:33)
- с АВР все ясно и логично как божий день! а здесь они даже доку
выпустили (стр6 фиг 2), причем half transfer flag write
выставляется когда еще ни одного бита в шину не всунули )) - Aleksey_75(07.05.2021 00:41, ссылка)
- Нужно понимать механизм работы DMA. Началом каждой транзакции служит request, которым физически является теневой флаг подключенной периферии, разумеется нужно разришение арбитра шины. После транзакции DMA получает ACK от шины, например APB, декрементирует счетчик байт и ждёт новый request. Но этот ACK для SPI означает просто копирование в сдвиговый регистр! Когда счетчик байт становится равен 0, dma поднимает флаг TC, что может вызвать прерывание. Так что это evgeniy1294(110 знак., 07.05.2021 01:19 - 01:33)
- с АВР все ясно и логично как божий день! а здесь они даже доку
выпустили (стр6 фиг 2), причем half transfer flag write
выставляется когда еще ни одного бита в шину не всунули )) - Aleksey_75(07.05.2021 00:41, ссылка)
- Так во всех "продвинутых". Грузить ДМА нужно по "buffer empty" а
отрабатывать конец передачи имана по концу передачи. Точно так-же и
в АВР. - mse homjak(07.05.2021 00:33)
- +1 - evgeniy1294(06.05.2021 13:02)
- да все верно! никак не могу привыкнуть что кортексы выкидывают
флаги по велению левой ноги - Aleksey_75(07.05.2021 00:23)