16+
Пятница
20 апреля
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры AVR

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
Ale3000  (15.11.2017 07:29 - 15.11.2017 07:39, ссылка) , в ответ на Atmel в примерах программ для Xmega заложил интересные грабли: функции, работающие с контроллером NVM (например, вычитывающие калибровочные константы) не возвращают регистр NVM.CMD в исходное состояние (0x00). При этом перестает корректно работать автор: AlexG
В каких конкретно примерах програм? В апноте "AVR1300 Using the XMega ADC" есть обнуление NVM.CMD. 
	#include <ioavr.h>

	; ---
	; This routine reads the calibration byte given by the index in R16.
	;
	; Input:
	;     R16 - Byte index.
	;
	; Returns:
	;     R16 - Calibration byte.
	; ---
	MODULE _SP_ReadCalibrationByte
	PUBLIC SP_ReadCalibrationByte
	RSEG CODE

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

	ENDMOD

	END
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7526 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII