Fabriziog
Guest
Не поднимается флаг и не срабатывает прерывание по событию IDLE в UART при использовании DMA на чтение из периферии.
Вероятно это происходит из-за того, что флаг IDLE поднимается только при поднятом флаге RXNE, который поднимается после записи данных в регистр принятых данных UART и который снимается чтением этого же регистра принятых данных. DMA сразу же считывает регистр принятых данных, тем самым опуская флаг RXNE, из-за чего флаг IDLE не может подняться.
Предложение: добавить добавить флаг независимости флага IDLE от RXNE (?) или отказаться от зависимости IDLE от RXNE
Вероятно это происходит из-за того, что флаг IDLE поднимается только при поднятом флаге RXNE, который поднимается после записи данных в регистр принятых данных UART и который снимается чтением этого же регистра принятых данных. DMA сразу же считывает регистр принятых данных, тем самым опуская флаг RXNE, из-за чего флаг IDLE не может подняться.
Предложение: добавить добавить флаг независимости флага IDLE от RXNE (?) или отказаться от зависимости IDLE от RXNE