Категории:

  • Программирование


  • Изобразительное искусство


  • Программирование встраиваемых систем


  • Компьютерная графика


  • WEB Разработка


  • Музыка


  • Инженерия


  • iVARIOUS


  • Mobil App


  • STM32. Регистры DMA

    DMA_LISR - Статусный регистр прерываний, сообщающий о событиях при передаче данных.
    TCIFx: прерывание по завершению передачи потока х (х = 3..0)
    Этот бит устанавливается аппаратно. Он сбрасывается программно записью 1 в соответствующий бит DMA_LIFCR регистра.
    0: Передача не завершена, событие на потоке х.
    1: передача завершена, событие на поток х.
    HTIFx: флаг прерывания половины передачи на потоке х (х = 3..0)
    Этот бит устанавливается аппаратно. Он сбрасывается программно записью 1 в соответствующий бит DMA_LIFCR регистра.
    0: Половина данных пока не передалась на потоке х.
    1: Передалась половина данных на потоке х.

    TEIFx: флаг прерывания по ошибке передачи на потоке х (х = 3..0)
    Этот бит устанавливается аппаратно. Он сбрасывается программно записью 1 в соответствующий бит DMA_LIFCR регистра.
    0: нет ошибок передачи на потоке х.
    1: Произошла ошибка передачи на потоке х.

    DMEIFx: флаг прерывания по ошибке в режиме direct на потоке х (х = 3..0) Этот бит устанавливается аппаратно. Он сбрасывается программно записью 1 в соответствующий бит DMA_LIFCR регистра.
    0: Нет ошибки работы в режиме direct на потоке х.
    1: Произошла ошибка в режиме Direct на потоке х.

    FEIFx: Флаг прерывания по ошибке FIFO на потоке х (х = 3..0)
    Этот бит устанавливается аппаратно. Он сбрасывается записью 1 с соответствующий бито DMA_LIFCR регистр.
    0: Ошибок в FIFO на потоке х нет.
    1: Произошла ошибка FIFO на потоке х.

    DMA_HISR - подобен регистру DMA_LISR , но для потоков 4-7.


    DMA_LIFCR - Регистр сброса флагов прерывания, на потоках 0-3;
    CTCIF: Очистка флага прерывания после полной передачи.
    CHTIF: Очистка флага прерывания после половины передачи.
    CTEIF: Очистка флага прерывания по возникновению ошибки.
    CDMEIF: Очистка флага прерывания по возникновению ошибки в режиме Direct.
    CFEIF: Очистка флага прерывания по возникновению ошибки в режиме FIFO.
    Запись в этот бит очищает соответствующий флаг в регистре DMA_LISR.

    DMA_HIFCR - Регистр сброса флагов прерывания аналогичен DMA_LIFCR, но для потоков 4-7;

    DMA_CR - Регистр конфигаруции с битами: CHSEL выбор каналов, DIR направление передачи,TEIE/HTIE установки прерываний после передачи, установка шаг (приращение) адреса памяти после чтения/записи регистров. EN - запуск/отключения работы DMA.

    DMA_NDTR - Регистр, в котором записывается общий обьем передаваемых данных.

    DMA_PAR - Адрес периферии из которого будут переписыватся данные, или в который данные будут записыватся.

    DMA_SxM0AR и DMA_SxM1AR - Два регистра в который записываются адреса памяти, между которыми будут передаватся данные в режиме память-память. В случае если копирование данных будет в режиме память-периферия, указывается только один адрес памяти.

    DMA_FIFO - Регистр управления DMA в режиме FIFO.

    //......DMA....
    //.............
    #define DMA2_RCC *((uint32_t*)0x40023830)//|=0x400000;
    #define DMA2_LISR *((uint32_t*)0x40026400)
    #define DMA2_HISR *((uint32_t*)0x40026404)
    #define DMA2_LIFCR *((uint32_t*)0x40026408)
    #define DMA2_HIFCR *((uint32_t*)0x4002640C)
    #define DMA2_S0CR *((uint32_t*)0x40026410)
    #define DMA2_S0NDTR *((uint32_t*)0x40026414)
    #define DMA2_S0PAR *((uint32_t*)0x40026418)
    #define DMA2_S0M0AR *((uint32_t*)0x4002641C)
    #define DMA2_S0M1AR *((uint32_t*)0x40026420)
    #define DMA2_S0FCR *((uint32_t*)0x40026424)
    #define DMA2_S1CR *((uint32_t*)0x40026428)
    #define DMA2_S1NDTR *((uint32_t*)0x4002642C)
    #define DMA2_S1PAR *((uint32_t*)0x40026430)
    #define DMA2_S1M0AR *((uint32_t*)0x40026434)
    #define DMA2_S1M1AR *((uint32_t*)0x40026438)
    #define DMA2_S1FCR *((uint32_t*)0x4002643C)
    #define DMA2_S2CR *((uint32_t*)0x40026440)
    #define DMA2_S2NDTR *((uint32_t*)0x40026444)
    #define DMA2_S2PAR *((uint32_t*)0x40026448)
    #define DMA2_S2M0AR *((uint32_t*)0x4002644C)
    #define DMA2_S2M1AR *((uint32_t*)0x40026450)
    #define DMA2_S2FCR *((uint32_t*)0x40026454)
    #define DMA2_S3CR *((uint32_t*)0x40026458)
    #define DMA2_S3NDTR *((uint32_t*)0x4002645C)
    #define DMA2_S3PAR *((uint32_t*)0x40026460)
    #define DMA2_S3M0AR *((uint32_t*)0x40026464)
    #define DMA2_S3M1AR *((uint32_t*)0x40026468)
    #define DMA2_S3FCR *((uint32_t*)0x4002646C)
    #define DMA2_S4CR *((uint32_t*)0x40026470)
    #define DMA2_S4NDTR *((uint32_t*)0x40026474)
    #define DMA2_S4PAR *((uint32_t*)0x40026478)
    #define DMA2_S4M0AR *((uint32_t*)0x4002647C)
    #define DMA2_S4M1AR *((uint32_t*)0x40026480)
    #define DMA2_S4FCR *((uint32_t*)0x40026484)
    #define DMA2_S5CR *((uint32_t*)0x40026488)
    #define DMA2_S5NDTR *((uint32_t*)0x4002648C)
    #define DMA2_S5PAR *((uint32_t*)0x40026490)
    #define DMA2_S5M0AR *((uint32_t*)0x40026494)
    #define DMA2_S5M1AR *((uint32_t*)0x40026498)
    #define DMA2_S5FCR *((uint32_t*)0x4002649C)
    #define DMA2_S6CR *((uint32_t*)0x400264A0)
    #define DMA2_S6NDTR *((uint32_t*)0x400264A4)
    #define DMA2_S6PAR *((uint32_t*)0x400264A8)
    #define DMA2_S6M0AR *((uint32_t*)0x400264AC)
    #define DMA2_S6M1AR *((uint32_t*)0x400264B0)
    #define DMA2_S6FCR *((uint32_t*)0x400264B4)
    #define DMA2_S7CR *((uint32_t*)0x400264B8)
    #define DMA2_S7NDTR *((uint32_t*)0x400264BC)
    #define DMA2_S7PAR *((uint32_t*)0x400264C0)
    #define DMA2_S7M0AR *((uint32_t*)0x400264C4)
    #define DMA2_S7M1AR *((uint32_t*)0x400264C8)
    #define DMA2_S7FCR *((uint32_t*)0x400264CC)


    Читайте больше в категории: Программирование встраиваемых систем

    2016-04-14 10:24:27



    Другие статьи:

    2D. Рисование реалистичной воды

    Як насправді виглядав Невицький Замок

    Инженерия

    STM32. Код работы таймера Basic TIM 6

    Физика цвета в живописи

    PHP. Загрузка файлов. $_POST

    STM32. Регистры портов GPIO

    JavaScript. innerHTML

    Android. HttpURLConnection. Чтение WEB HTML

    Математика и Программирование