Я работаю над проектом с микроконтроллером серии dspic33E. Я использую связь UART для связи с другими устройствами и хранения данных, поступающих от других устройств и периферийных устройств. Чтобы гарантировать отсутствие потери данных при обмене данными через UART, я использую буфер FIFO. Это очень полезно. После этого я проверяю буфер всякий раз, когда мне нужно, и если есть какие-либо данные, которые мне нужно обработать, я читаю их из буфера FIFO и выполняю необходимый процесс. Я ожидаю такой же производительности в DMA, когда я комбинирую его с UART.
Но, насколько я знаю, буферы DMA могут быть прочитаны только прерыванием половины буфера/полного буфера. Я не знаю, почему DMA устроен именно так. Если я могу получить доступ к DMA, не дожидаясь установки прерывания для чтения данных из его буфера, я могу использовать его как FIFO, а также это снижает нагрузку на ЦП. Возможно ли это в контроллерах dspic? Как я могу приблизиться к DMA, чтобы использовать его в качестве буфера FIFO, не дожидаясь установки прерывания для чтения его буферов.
Надеюсь, я ясно объяснил свое мнение о DMA. Дайте свое предложение по этому запросу. Заранее спасибо...