16+
Пятница
13 декабря
Вход |Карта сайта |Upload |codebook | PARTS

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

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

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

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

caxapa

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

AVR PIC MSP PLD,FPGA,DSP 

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

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

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

 
Новая темаПравила РегистрацияСтатистика Архив
Вернуться в конференциюТопик полностью
RxTx  (30.11.2019 17:57 - 30.11.2019 18:07) , в ответ на Caxapa - сайт для публикации ЛЮБЫХ потоков сознания. Ему уж лет 16. Какой компилятор и версия - видимо, С30, старый, как гавно мамонта с кучей багов? Не надо весь код сюда тащить, для начала будет достаточно инициализации ВСЕЙ периферии автор: MBedder
Контроллер наконец-то работает в отладке (Debugger->Run), по своему прерыванию переключает два светодиода.  
А также останаливается на HW breakpoint'ах и я могу вменяемо степать по коду. К этому привело: MPLAB8 + PICKi3 + _FOSC (XT & CSW_FSCM_OFF); + (Debug configuration) Захожу так: меню Debugger -> Program -> меню Debugger -> Run... Но проблема #1 Нажатие меню Debugger "Halt" приводит к: Halting... Target halted PICkit 3 has halted with error(s). Проблема #2. Попытка сделать дебаггером шаг через библиотечную ф-цию OpenADC10(...) вызывает reset процессора. Функция инициализации, из которой вызывается OpenADC10():
int ADC10_Open (void)
{
int n, err;

	ADCON1bits.ADON = 0; 	// ADC - off
	SetChanADC10 (ADC_CH0_POS_SAMPLEA_AN0 & ADC_CH0_NEG_SAMPLEA_NVREF);

	ConfigIntADC10 (ADC_INT_ENABLE & ADC_INT_PRI_3);
	OpenADC10 (
		ADC_MODULE_ON & ADC_IDLE_CONTINUE &
		ADC_FORMAT_SIGN_FRACT &  //ADC_FORMAT_INTG & 
		ADC_CLK_AUTO & ADC_AUTO_SAMPLING_OFF & ADC_SAMPLE_INDIVIDUAL,
		ADC_VREF_EXT_EXT & ADC_SCAN_ON & ADC_CONVERT_CH0 & ADC_ALT_BUF_OFF & ADC_ALT_INPUT_OFF, 
		ADC_CONV_CLK_SYSTEM & ADC_SAMPLE_TIME_4 & ADC_CONV_CLK_4Tcy, // Tad = 150 ns  
		ENABLE_AN0_ANA & ENABLE_AN1_ANA & ENABLE_AN2_ANA & ENABLE_AN3_ANA & 
		//ENABLE_AN4_ANA & ENABLE_AN5_ANA &
		ENABLE_AN6_ANA & ENABLE_AN7_ANA & ENABLE_AN8_ANA & ENABLE_AN9_ANA &
		ENABLE_AN10_ANA & ENABLE_AN11_ANA & ENABLE_AN12_ANA & ENABLE_AN13_ANA & ENABLE_AN14_ANA & ENABLE_AN15_ANA, 
		SKIP_SCAN_AN4 & SKIP_SCAN_AN5 & SKIP_SCAN_AN1); 
		//SCAN_ALL);	

	for (n=0; n<10; n++)	ADC10_Conversion ();

	if (sKIV.RS.Test) {
		err = (  !sTMP.ADC10[15] || !sTMP.ADC10[14] ) ? ERR_OPEN_ADC10 : 0;  // Температура  ||  Напряжение + 24 v
	}
	else err = 0;
	return err;
}
Сброс происходит на первой же команде тела библиотечной OpenADC10():
    Line   Adress  Opcode     Disassembly
->  308    00266    881543    mov.w 0x0006,0x02a8
После неё я наблюдаю уже адрес 0000 0x02a8 судя по даташиту это ADPCFG, до записи там 0xFFFF Почему это приводит к сбросу пока неизвестно.
 [x][x][x][x][x][x] [x][x][x][x][x][x][x][x]

Тема выделяется по переводу строки или автоматом

 

Имя


Регистрация позволит вам редактировать и перемещать ваши сообщения и прикреплять к ним файлы.
 
Символы: á é ó ú ý « »
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7528 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXIX