Ответ: пики свежайшие, уже пять раз ставил новые, причем на одной плате все работает, а
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Jedi 21 апреля 2003 г. 14:44
В ответ на: В общем, у меня было что-то подобное, по всей видимости F, если его программатором раз 100 проутюжить, начинает глючить, что бу микрочипы/фитоны в своих хелпах не писали (у меня Фитон ЧипПрог+). Попробуй свежий ПИК. отправлено mann 21 апреля 2003 г. 13:39

на другой никак. Поменяли все лампы - конденсаторы, кварцы, оторвали все ноги кроме питания и RS232, кварц повесили снаружи - не работает.
Считается CRC один раз и тут же второй, потом сравнивается - ошибка, иногда даже в обоих случаях. Причем CRC не функция, а встроенные команды.


pointer = TX_232_temp;

TX_232_temp[lenght] = 0;

for( temp = 0; temp < lenght ; temp++ ){

temp2 = ((TX_232_temp[lenght]) ^ ((*pointer++))) ;

//temp1 = crc8[temp2];

TBLPTRL = temp2; // ñòàâèì TBLPTR íà àäðåñ
TBLPTRH = USER_PROG_01 - 1 ;
TBLPTRU = 0;

asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("TBLRD*");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");


TX_232_temp[lenght] = TABLAT;







CLRWDT();

}// for




a = TX_232_temp[lenght];





pointer = TX_232_temp;

TX_232_temp[lenght] = 0;

for( temp = 0; temp < lenght ; temp++ ){

temp2 = ((TX_232_temp[lenght]) ^ ((*pointer++))) ;

//temp1 = crc8[temp2];

TBLPTRL = temp2; // ñòàâèì TBLPTR íà àäðåñ
TBLPTRH = USER_PROG_01 - 1 ;
TBLPTRU = 0;

asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("TBLRD*");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");
asm("nop");


TX_232_temp[lenght] = TABLAT;

CLRWDT();

}// for


b = TX_232_temp[lenght];






if ( a != b ){

TX_232_temp[0] = 0xFF; // ôîðìèðóåì îò÷åò äëÿ PC
TX_232_temp[1] = 0xFF;
TX_232_temp[2] = 0xFF;
TX_232_temp[3] = 0xFF;
TX_232_temp[4] = a;
TX_232_temp[5] = b;
TX_232_temp[6] = temp;
TX_232_temp[7] = temp1;
TX_232_temp[8] = temp2;
TX_232_temp[9] = lenght;
TX_232_temp[10] = STATUS;
TX_232_temp[11] = 0xFF;
TX_232_temp[12] = 0xFF;
TX_232_temp[13] = 0xFF;
TX_232_temp[14] = RCON;
TX_232_temp[15] = 0xFF;

lenght = 15;

}

Составить ответ ||| Конференция ||| Архив

Ответы



Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru