Добрый день, помогите пожалуйста с такой вот детской проблемой на контроллере Mega16A . В CodeVision есть функция delay_ms - пауза в миллисекундах. В реальности МК работает ровно половину установленного времени. Кварц 16 Мгц. В даташите есть фраза:
Код:
For resonators, the maximum frequency is 8 MHz with CKOPT unprogrammed and 16 MHz with CKOPT programmed.
Изменение бита CKOPT в фьюзах ни на что не влияет.
Других функций в МК нет.
Код:
void main(void) {
DDRD = 0xff;
DDRC =0xff;
d_0=200;
d_1=80;
i=0;
delay_ms(5000);
while (1) {
PORTD.4^=1;
delay_ms(d);
if (PORTD.4==1) {d=d_1;} else {d=d_0;}
i++;
//d_0++;
if (i>35) {PORTD.5=1; PORTD.3=1; d_0=50; d_1=150; }