Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить

Проблемы с _delay_ms

Пт окт 13, 2017 20:48:37

Вечер добрый.
Совершил святотатство: пытался программировать 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

а в ардуино уно частота кварца разве 10 МГц?

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

Пт окт 13, 2017 21:21:33

а в ардуино уно частота кварца разве 10 МГц?

Нет, кварц на 16МГц. Но и изменение на
Код:
#define   F_CPU 16000000UL;

ничего не меняет.

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

Пт окт 13, 2017 21:55:18

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

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