ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
2 июня
162618 Топик полностью
AVF (31.07.2009 13:10, просмотров: 163) ответил uwlu на Спасибо за ответ! Если у Вас ацп с дма завязан обьясните пжста следущее. В PIC32, согласно микрочипу, результаты ацп записываются в буфера AD1BUF0-AD1BUF15. Если я хочу переписать данные для дальнейшей обработки, скажем в другой мной декларированный char
а зачем отдельный массив для буфера? этот режим для того и сделан чтоб руками данные не перекладывать. вообще dma (direct memory acsess) и предназначен для того чтобы переферия могла общаться напрямую с памятью, а не только со своими регистрами. например ацп сложил 16 измерений в буфер 1. по окончании выдал прерывание. вы по этому прерыванию обработали данные напрямую из буфера 1, а результат обработки положили в буфер 2. отдали команду юарту предедавать данные из буфера 2. по след прерыанию процесс повторили. или если обработки нет настраиваете указатели не один и тот же адрес и по окончании измерения просто даете команду отправлять данные (только юарт будет передавать побайтно, и потом это надо собрать обратно в 16 или 32 битные переменные) если процесс непрервный (например пока данные обрабатываете, ацп собирает другие) испльзется режим ping-pong, при этом переферия работает поочердно с двумя буферами. Хотя последний режим есть для dsPIC, для pic32 работа с полубуфером - прерывания по половине и полностью заполненом буфере.