Всем спасибо! Особенно Snusmumrik! Сделал запись в регистры напрямую и все заработало. В Хедере DAC.h от Keil есть ньюанс, который я не учел:
#ifndef __dac_base /* Define the DAC Base location */ #define __dac_base 0xFFFF0600 #endif #define DAC ((volatile struct s_DAC *) (__dac_base))
Вероятно где-то __dac_base был определен ранее, поэтому адрес структуры был другой. Но в эмуляторе же работало!! Парадокс!!!
Незнаю по поводу 6 бита, но у меня в описании он присутствует: переведенное описание ADuC702xR.pdf (где-то в инете можно найти) таблица 19, стр. 33. Правда в этом описании есть неточности, которые приходится сверять с оригиналом. В оригинальном описании данный флаг отсутствует. Но, опять же момент, в эмуляторе Keil он присутствует и изменяется. Описание: " Бит отключения буфера Устанавливается пользователем, чтобы отключить буфер Сбрасывается пользователем чтобы включить буфер. По умолчанию выход ЦАП буферирован. "
|