Страница 1 из 1

Проблемы с _delay_ms

Добавлено: Пт окт 13, 2017 20:48:37
JI0ku
Вечер добрый.
Совершил святотатство: пытался программировать Arduino Uno через Atmel Studio. В принципе, всё работает, но не могу решить проблему времени.

Код: Выделить всё

#include <util/delay.h>
#include <avr/io.h>
#define	F_CPU 10000000UL;

int main(void)
{
    DDRB=0xff;
    while(1)
    {
        PORTB=0xff;
		_delay_ms(1000);
		PORTB=0x00;
		_delay_ms(1000);
    }
}
Простейшее мигание, которое должно быть 1 раз в секунду на деле мигает в 10 раз быстрее (по ощущениям). Частоту пробовал менять - не влияет. В чём может быть причина. Это, конечно, мелочь, но разобраться интересно.

Re: Проблемы с _delay_ms

Добавлено: Пт окт 13, 2017 21:15:45
Flasher
а в ардуино уно частота кварца разве 10 МГц?

Re: Проблемы с _delay_ms

Добавлено: Пт окт 13, 2017 21:21:33
JI0ku
[uquote="Flasher",url="/forum/viewtopic.php?p=3206082#p3206082"]а в ардуино уно частота кварца разве 10 МГц?[/uquote]
Нет, кварц на 16МГц. Но и изменение на

Код: Выделить всё

#define	F_CPU 16000000UL;
ничего не меняет.

Re: Проблемы с _delay_ms

Добавлено: Пт окт 13, 2017 21:55:18
Mishany
а мк не ресетится? включить оптимизацию и дефайн перед инклудом с делаем

Код: Выделить всё

#define   F_CPU 16000000UL
#include <avr/io.h>
#include <util/delay.h>
бл*** а накуя точка с запятой в строке с #define F_CPU 16000000UL????
перед подключением delay.h F_CPU уже должна быть определена!