Ingernirated
@Ingernirated
Романыч

Как определить нужный F_CPU для МК?

Добрый день, работаю в Atmel Studio и там требует устанавливать частоту.
#define F_CPU 1000000UL
Это частота работы МК или чего и где её искать?
В одном из примеров нашел значение в 2МГц, но у меня подвисла студия и выдало ошибку, а на 1МГц нормально работает. Или UL это не Гц?

И ещё есть код
int main(void)
{
	DDRD = 0xFF;
	PORTD = 0b00000000;
    while (1) 
    {
		PORTD = 0xFF;
		_delay_ms(1000);
		
		PORTD = 0x00;
		_delay_ms(1000);
    }
}

Почему не показывает прерывания и чередование 0 и 1, а все 0?
530e26e2e3ad480bb3ac50605336c0fe.jpg
  • Вопрос задан
  • 3058 просмотров
Решения вопроса 2
15432
@15432
Системный программист ^_^
UL это явное указание, что константа типа unsigned long, входит в стандарт самого языка.
F_CPU нужно, чтобы компилятор знал частоту работы вашего процессора и чтобы, например, sleep(1) ждал секунду, а не две. Частоту можно узнать из документации на процессор. (гуглить <название проца> datasheet)
Ответ написан
Частоту можно узнать, если взглянуть на надпись на кварцевом резонаторе, который находится рядом с вашим контроллером.
Выглядит так:
$_35.JPG
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы