-
- Вы несколько переводите тему. Apтём(1898 знак., 07.04.2017 22:22)
- Но меня интересует передача. Буфер тоже кольцевой, в него время от времени подбрасываются еще порции. Какую тактику вы бы посоветовали в этом случае? - Ксения(07.04.2017 22:38)
- Я наверное сделал бы также как и при передаче с использованием прерывания UDRE, только с ДМА передавались бы не байты, а блоки из буфера передачи. Apтём(827 знак., 07.04.2017 23:09)
- Но здесь я не вижу разрешения коллизии, когда вызван SendBuffer(), когда DMA еще не окончил предыдущее задание. Разве запуск новой передачи StartDMATx() не повредит окончанию старой? - Ксения(07.04.2017 23:17)
- Коллизии нет никакой - надо просто правильно сделать (ошибку заложить конечно можно). Apтём(1082 знак., 07.04.2017 23:33 - 08.04.2017 02:03)
- Насколько я понимаю, CRITICAL_SECTION на DMA не действует. Ксения(686 знак., 08.04.2017 07:39)
- CRITICAL_SECTION: Apтём(1225 знак., 08.04.2017 14:11)
- Насколько я понимаю, CRITICAL_SECTION на DMA не действует. Ксения(686 знак., 08.04.2017 07:39)
- Коллизии нет никакой - надо просто правильно сделать (ошибку заложить конечно можно). Apтём(1082 знак., 07.04.2017 23:33 - 08.04.2017 02:03)
- Но здесь я не вижу разрешения коллизии, когда вызван SendBuffer(), когда DMA еще не окончил предыдущее задание. Разве запуск новой передачи StartDMATx() не повредит окончанию старой? - Ксения(07.04.2017 23:17)
- Я наверное сделал бы также как и при передаче с использованием прерывания UDRE, только с ДМА передавались бы не байты, а блоки из буфера передачи. Apтём(827 знак., 07.04.2017 23:09)
- Но меня интересует передача. Буфер тоже кольцевой, в него время от времени подбрасываются еще порции. Какую тактику вы бы посоветовали в этом случае? - Ксения(07.04.2017 22:38)
- Вы несколько переводите тему. Apтём(1898 знак., 07.04.2017 22:22)