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

 
 
> PIC12F629 & MPLAB на симуляторе работает, а при, прошивке не работает
skyled
сообщение Jan 4 2011, 11:11
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



MPLAB vs HI-TECH C компилятор делают файл hex. После прошивки его в PIC12F629 работы контроллера не наблюдается, хотя другая программа работает, т.е. аппаратно все исправно. Прошиваю PIC программатор v4.10a. Все красиво. Биты конфигурации 0x31D4. В симуляторе все красиво работает, а реально на выходе контроллера все нули.

Код
#include <htc.h>
#include <stdio.h>
#include <stdlib.h>

//__CONFIG(WDTDIS & UNPROTECT & INTIO); // Program config. word 1
//__CONFIG(INTIO); // Program config. word 2
#define _XTAL_FREQ 4000000
#define bitset(var, bitno) ((var) |= 1UL << (bitno))
#define bitclr(var, bitno) ((var) &= ~(1UL << (bitno)))

bit flag;
unsigned int tick_count;


void eetest(void) {
unsigned char value = 255;
unsigned char address = 0;
// write value to EEPROM address
eeprom_write(address, value);
// read from EEPROM at address
value = eeprom_read(address);
}

//FLASH_WRITE(address,value);
//variable=FLASH_READ(address);
//ei(); // enable all interrupts
//di(); // disable all interrupts
//CLRWDT();


void interrupt tc_int(void)
{
if (T0IE && T0IF) {
    T0IF=0;
    ++tick_count;
    //GPIO=~GPIO;
    return;
    }
}

void main(void)
{
OPTION=0b00001100;
INTCON=0b00100000;
TRISIO=0b00001000;
CMCON=0b00000111;
GPIO=0xFF;
//eetest();
ei(); // enable all interrupts
while(1)
    {
    __delay_ms(1);//а было и 100 и 500
    GPIO=~GPIO;
    NOP();
    }
}


Кто подскажет где искать причину? В pic-ах новичок. Спасибо.

Сообщение отредактировал skyled - Jan 4 2011, 11:12
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Feb 3 2011, 20:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Калибровочное слово я знаю уже. Дело действительно именно в нем. по совету сменить программатор собрал PicKit2 Если я записываю им hex из MPLAB, то калибровочное слово теряется и контроллер не работает (не тактируется? или с чем это связано?). Если я в программе PicKit2 v2.52 с помощью нового программатора сначала определяю это калибровочное слово, а потом прошиваю hex то все работает. При повторном программировании из MPLAB опять не работает. Кстати последний раз не удалось восстановить калибровочное слово программатором. Попыток было несколько. Хорошо, что записал на бумажке.Ввел вручную - заработало. Как сделать так чтобы MPLAB не сносила єто слово и можно было программировать из нее. Для чего нужна строка OSCCAL = _READ_OSCCAL_DATA(); и в каком месте программы она должна быть? Спасибо.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
xemul
сообщение Feb 4 2011, 11:41
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(smk @ Feb 3 2011, 23:30) *
Калибровочное слово я знаю уже. Дело действительно именно в нем. по совету сменить программатор собрал PicKit2 Если я записываю им hex из MPLAB, то калибровочное слово теряется и контроллер не работает (не тактируется? или с чем это связано?). Если я в программе PicKit2 v2.52 с помощью нового программатора сначала определяю это калибровочное слово, а потом прошиваю hex то все работает. При повторном программировании из MPLAB опять не работает. Кстати последний раз не удалось восстановить калибровочное слово программатором. Попыток было несколько. Хорошо, что записал на бумажке.Ввел вручную - заработало. Как сделать так чтобы MPLAB не сносила єто слово и можно было программировать из нее.

Programmer->Settings->Calibration memory
Чтобы использовалась заводская калибровка (или то, что уже записано), снимите галку "Allow to program Calibration memory"
Чтобы записать своё значение, поставьте галку и задайте "New Value". 0x80 соответствует середине калибровочного интервала.
Цитата
Для чего нужна строка OSCCAL = _READ_OSCCAL_DATA(); и в каком месте программы она должна быть? Спасибо.

Project->Build Options->Project->Linker
Установленная галка "Calibrate oscillator" всё сделает за Вас (в прологе, до старта main(); см. startup.lst в папке проекта).
Можете задать своё значение в поле "Alternate oscillator calibration value".
Для использования заводской калибровки поле нужно очистить.
Если же хочется всё сделать самому, снимите галку и вставьте OSCCAL = _READ_OSCCAL_DATA(); в прогу там, где хочется.
Если такой галки нет, обновите UniversalToolSuite.

Можно ещё почитать .chm к MPLab'у и программатору, manual.pdf к компилятору и помедитировать в симуляторе.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- skyled   PIC12F629 & MPLAB на симуляторе работает, а при   Jan 4 2011, 11:11
- - xemul   GP3/MCLR? UPD: сразу не разлядел, что __CONFIG у ...   Jan 4 2011, 11:15
|- - skyled   Цитата(xemul @ Jan 4 2011, 18:15) GP3/MCL...   Jan 4 2011, 11:21
|- - xemul   Цитата(skyled @ Jan 4 2011, 17:21) Потом ...   Jan 4 2011, 11:24
- - skyled   Сделал, перепрошил. Ругнулось на некорректное конф...   Jan 4 2011, 11:54
|- - xemul   Цитата(skyled @ Jan 4 2011, 17:54) Сделал...   Jan 4 2011, 19:28
- - skyled   Компилятор не ругается. Ругается программатор. Дат...   Jan 5 2011, 06:02
- - skyled   Цитата0x31D4 соответствует __CONFIG(WDTDIS & U...   Jan 5 2011, 08:05
|- - xemul   Цитата(skyled @ Jan 5 2011, 14:05) А мне ...   Jan 5 2011, 10:47
- - skyled   Букву добавил. Перепрошил. Не помогло. На почти вс...   Jan 5 2011, 11:26
|- - xemul   Цитата(skyled @ Jan 5 2011, 17:26) Букву ...   Jan 5 2011, 12:07
- - skyled   Попробовал. Результат тотже. Завтра попробую собра...   Jan 5 2011, 12:30
|- - xemul   Цитата(skyled @ Jan 5 2011, 18:30) Попроб...   Jan 5 2011, 15:44
|- - Дмитрий Ветра   Цитата(xemul @ Jan 5 2011, 20:44) Проверь...   Jan 7 2011, 17:28
- - smk   Байт калибровки точно затерт т.к. делался полный с...   Jan 5 2011, 18:04
|- - xemul   Цитата(smk @ Jan 6 2011, 00:04) Байт кали...   Jan 6 2011, 09:28
|- - DL36   Цитата(xemul @ Jan 6 2011, 16:28) - взять...   Jan 9 2011, 05:01
- - skyled   Вот такая вот ошибка в т.ч. и в случае с перекомпи...   Jan 11 2011, 06:20
|- - xemul   Цитата(skyled @ Jan 11 2011, 12:20) Вот т...   Jan 11 2011, 09:42
- - skyled   Файлы, кстати, заливались в новый МК.   Jan 11 2011, 08:26
- - skyled   http://www.qrz.ru/schemes/contribute/constr/extra-...   Jan 11 2011, 12:36
- - skyled   Цитатахардварные проблемы в программатореНу вобщем...   Jan 12 2011, 05:27
|- - xemul   Цитата(skyled @ Jan 12 2011, 11:27) Ну во...   Jan 12 2011, 09:33
- - skyled   Импортный аналог там и стоит. Не разглядел, но пох...   Jan 12 2011, 10:14
|- - Дмитрий Ветра   Цитата(smk @ Feb 3 2011, 22:30) Калиброво...   Feb 4 2011, 10:10
- - smk   ЦитатаProgrammer->Settings->Calibration memo...   Feb 4 2011, 15:46
|- - xemul   Цитата(smk @ Feb 4 2011, 18:46) Вот таког...   Feb 4 2011, 18:05
- - smk   Почемуто всякий раз после заливки из MPLAB последн...   Feb 4 2011, 17:52
|- - xemul   Цитата(smk @ Feb 4 2011, 20:52) Почемуто ...   Feb 5 2011, 11:01
- - smk   Цитата- на закладке Linker поле Debugger установле...   Feb 4 2011, 18:17
|- - xemul   Цитата(smk @ Feb 4 2011, 21:17) так и ест...   Feb 5 2011, 08:09
- - skyled   Компилятор HI-TECH. Мои действия такие (описываю...   Feb 7 2011, 12:43
- - smk   С нетерпеним жду какой будет вердикт или совет? Да...   Feb 7 2011, 17:32


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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 21:26
Рейтинг@Mail.ru


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