в меню project->configuration options. в закладке general прописывается частота проца, от туда она подставляется в закладке custom options как один из параметров "-DF_CPU=1000000UL", которые потом передайются в командной строке компилятору. и гдет потом это число уже присваивается F_CPU. без вывода в уарт это можно проверить допустим вот так "uint32_t i = F_CPU;" и глянуть значения при отладке в вотче. только с такой строчкой нужно временно отключать оптимизацию (-O0, вместо -Os). сам F_CPU посмотреть в вотче еще ни разу не удалось - "not in scope" и всё, какие б я конструкции не пробовал писать.
Angel71 писал(а):и гдет потом это число уже присваивается F_CPU
Оно не присваивается ничему. Просто определяется макрос F_CPU, как раз параметром -DF_CPU=1000000UL
Angel71 писал(а):сам F_CPU посмотреть в вотче еще ни разу не удалось - "not in scope" и всё, какие б я конструкции не пробовал писать.
И не получится. Еще до вызова компилятора, препроцессор заменит все вхождения F_CPU на числовую константу (1000000UL) - компилятор понятия не имеет как ты ее обозвал.
Проект [[Open Robotics]] - универсальные модули для построения роботов Модули Open Robotics можно приобрести в магазине shop.roboforum.ru Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!
Сколько раз уже говорили что F_CPU задается в настройсках Makefile. В общем выклвдываю скрин где настраивать F_CPU и нормально после этого скомпилированный проект
Я видел что вы в файле задали частоту, но зачем усложнять то, что проще простого. ПРичем ладно вы задали эту переменную, но тогда все преопределенные в Makefile также должны переопределеить в этом файле
F_CPU это конфигурационная директива. Она используется почти во всех файлах проекта, и заметь, что в файлах ассемблера тоже. Конечно по-идее можно ее переопределить как вы это делаете, с кучей переделок, но ИМХО это извращение. Причем, если хотите ее переопределять, то сопутствующие другие директивы также должны переопределить
Чтобы заработало по вашей идее, нужно во всех файлах, где есть F_CPU и даже ассемблеровских ее переопределить. Если вам это надо, преопределяйте, мне лень перерывать весь ваш исходник, и делать лишнюю и ненужную работу
Ты блин уже всех достал. Сделай как положено, чтобы заработало. А потом в ТИХУЮ экспериментируй и не задавая глупых вопросов. У всех всё работает, у тебя нет. Дело не в бабине...
следующий. --- Просьба, в палату дверь не хлопать,говорить по существу не отклоняясь от темы и по возмолжности не путать я,ты, мы и общество в целом,стараться глаголить только за себя то есть,в ином случаи приводить статистику,прочие объективные данные. Отступления от темы,причисляются к офтопику,повотры к спаму.Пункт 5.2.2 общих правил
Поставил появившуюся на днях AVRStudio 4.19, обнаружил глюк (или их хау-ноу?!). Ранее при отладке нажимая на "пины портов", которые соответствовали пинам приёмника USART, возникало соответствующее прерывание (RX), а теперь оно возникает, только если установить соответствующую галочку в регистре прерываний USART, а при изменении состояния порта - фиг. Ужасно неудобно. Кто-нибудь сталкивался с этим? Проверил на многих разных контроллерах, в своих старых проектах. Причём как в Симуляторе 1, так и в Симуляторе 2. Кстати, как тактовую частоту с Симуляторе 2 изменить? На закладке Simalator 2 Options менял, а в окне Processor при отладке всё равно 1 МГц стоит.
В электронике чудес не бывает! Бывают плохие контакты!