реклама на сайте
подробности

 
 
> Atxmega калибровка АЦП
Navovvol
сообщение Dec 24 2011, 08:12
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



как откалибровать АЦП ? всё ли я так делаю ?
что загрузить в регистры Z ? все пишут о каких то сигнатурах, но где и как их найти никто не знает.
Код
outi NVM_CMD,0x02
LPM
mov   r16, r0
STS ADCA_CAL,R16
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bob1
сообщение Dec 24 2011, 08:58
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 17-09-06
Пользователь №: 20 471



Попробуйте так.
Код
    ldi r16,PROD_SIGNATURES_START + ADCACAL0_offset
   call SP_ReadCalibrationByte
  sts ADCA.CALL,r16
   ldi r16,PROD_SIGNATURES_START + ADCACAL1_offset
   call SP_ReadCalibrationByte
   sts ADCA.CALH,r16


SP_ReadCalibrationByte:
      ldi    r20, NVM_CMD_READ_CALIB_ROW_gc    ; Prepare NVM command in R20.
      mov    ZL, r16                              ; Load byte index into low byte of Z.
      clr    ZH                                ; Clear high byte of Z.
      sts    NVM_CMD, r20                         ; Load prepared command into NVM Command register.
      lpm   r16, Z                            ; Preform a LPM to read out byte to R16
      ldi    r20, NVM_CMD_NO_OPERATION_gc         ; Clear NVM Command register
      sts    NVM_CMD, r20
      ret


Сообщение отредактировал bob1 - Dec 24 2011, 09:04
Go to the top of the page
 
+Quote Post
Navovvol
сообщение Dec 24 2011, 10:02
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Цитата(bob1 @ Dec 24 2011, 11:58) *
Попробуйте так.

Спасибо. Разобрался. Некоторые вещи пришлось подогнать, теперь вот так:
Код
   ldi r16,PROD_SIGNATURES_START + NVM_PROD_SIGNATURES_ADCACAL0_offset
   call SP_ReadCalibrationByte
   sts ADCA_CAL,r16
   ldi r16,PROD_SIGNATURES_START + NVM_PROD_SIGNATURES_ADCACAL1_offset
   call SP_ReadCalibrationByte
   sts ADCA_CAL+1,r16


SP_ReadCalibrationByte:
      ldi    r20, NVM_CMD_READ_CALIB_ROW_gc   ; Prepare NVM command in R20.
      mov    ZL, r16                             ; Load byte index into low byte of Z.
      clr    ZH                               ; Clear high byte of Z.
      sts    NVM_CMD, r20                        ; Load prepared command into NVM Command register.
      lpm   r16, Z                           ; Preform a LPM to read out byte to R16
      ldi    r20, NVM_CMD_NO_OPERATION_gc        ; Clear NVM Command register
      sts    NVM_CMD, r20
ret

в регистр калибровки ADCA записывает значение 0х00FF.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 17:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.02866 секунд с 7
ELECTRONIX ©2004-2016