[an error occurred while processing this directive]
Помогите разобраться почему не работает программа на Mega128
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
vvkvvk 13 июля 2005 г. 07:19
|
|
|
|
На порту С припаян светодиод:
FUSE : OSCCAL =AB, AC, A1, A1
BLEV =1
BODEN =1
SUT =2
CKSEL =F
BLB1 =3
BLB0 =3
OCDEN =1
JITAGEN =0
CKOPT =0
EESV =1
BSIZ =0
BRST =1
M103C =0
WDTON =1
Рабочий вариант программы(светодиод маргает):
#include
#include
#include
#include int main(void)
{
DDRC = 0xff;
for (;;)
{
PORTC=0xff;
i=0;
while(i<=32000)
{j=0;
while(j<=100)
{j++;}
i++;
}
PORTC=0x00;
i=0;
while(i<=32000)
{j=0;
while(j<=100)
{j++;}
i++;
}
}
return 0;
}
Не рабочий вариант(светодиод горит непрерывно):
#include
#include
#include
#include int i,j;
int wait(void)
{
i=0;
while(i<=32000)
{
j=0;
while(j<=100)
{j++;}
i++;
}
return 0;
}
int main(void)
{
DDRC = 0xff;
for (;;)
{
PORTC=0xff;
wait();
PORTC=0x00;
wait();
}
return 0;
}
Почему может не работать второй вариан программы?
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ: в методологии — -Tумблер- (13.07.2005 11:52 194.190.161.241, 238 байт)
- А если действительно попробовать для начала изменить тип wait() на void? — Bill (13.07.2005 11:40 195.239.108.15, пустое)
- Ответ: Используйте __delay_cycles (XTALL * us); и все будет пучком — aleksey_gregul (13.07.2005 11:23 217.76.198.82, пустое)
- Ответ: А какаой уровень оптимизации? Если самый высокий то запросто wait() выкинет, она холостая функция в ней ни каких внешних изменений не видно все изменяется и погибает внутри — YH (13.07.2005 10:30 194.44.123.95, пустое)
- О, компилер могет ее (wait) выбрасывать потому что она нигде в присвоениях не участвует - она же не void. — Altair (13.07.2005 09:25 217.107.184.19, пустое)
- А ты объяви int i,j; в теле функции wait. И вобще, зачем они тебе глобальными? — Altair (13.07.2005 09:04 217.107.184.19, пустое)
- небось компилятор решил что wait нафик не нужна и выкинл. Светодио мигает, но на мегагерцах. Можно например объявить i и j как volatile — DASM (13.07.2005 07:35 217.118.78.1, пустое)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru