Мелкие вопросы по МК и ПЛИС.
-
SII
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пт янв 30, 2009 14:50:35
- Откуда: Солнечногорск
Плохо искал, значит. RTOS -- Real-Time Operating System, операционная система реального времени, ОСРВ. Инициализация -- подготовка чего-то к работе. Для программы это установка начальных значений переменных и т.д. и т.п., для железа -- приведение устройств в состояние готовности к использованию (выполнение сброса и последующее программирование нужных режимов). На некоторых вычислительных машинах термин "инициализация" применяется также к дискам и означает то же самое, что быстрое форматирование в Винде -- запись на диск служебной информации файловой системы, создающей пустой диск, т.е. подготовка его к использованию, но без полного анализа качества поверхности диска.
директива pragma
ПОдскажите, что значит #pragma used+
#pragma used-, сгенерированная CodeVisionAVR? внутри нее прописана функция, но зачем ее заключают между этими директивами...
#pragma used-, сгенерированная CodeVisionAVR? внутри нее прописана функция, но зачем ее заключают между этими директивами...
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
спасибо
Благодарю за участие. Вот ответ который показался мне более понятным, вдруг кому пригодится=) Функции, которые прописаны внутри этих директив заменяют стандартные библиотечные функции СИ т.е. можно заново переопределить такие функции как printf(), getchar(), putchar() и т.д.
Последний раз редактировалось Весна Чт сен 24, 2009 12:39:17, всего редактировалось 1 раз.
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Re: спасибо
Этот ответ абсолютно неверен, хотя, безусловно, понятен.Весна писал(а):Вот ответ который показался мне более понятным, ... Функции, которые прописаны внутри этих директив заменяют стандартные библиотечные функции СИ т.е. можно заново переопределить такие функции как printf() ...
"Переопределять" функции приходится одними и теми же способами что с этой директивой, что без неё. Попытка переопределения "в лоб", лишь указывая эту прагму, заканчивается той же ошибкой "function doesn't match previous declaration", что и без прагмы; соответственно, способ "переопределения" - от прагмы used никак не зависит:
Попытка заменить реализацию тоже не зависит от прагмы used:
Правильный ответ находится там, где я сказал - в документации к компилятору. Ответ там более полный - читай хелп.
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
- SarCity
- Прорезались зубы
- Сообщения: 215
- Зарегистрирован: Вт июн 10, 2008 09:17:06
- Откуда: г. Саратов
- Контактная информация:
Сложно ли переделать код от ATmega640 в код для ATmega8? Переделайте пжл или подскажите как это сделать.
- Вложения
-
- screenkey.rar
- Исходник
- (7.65 КБ) 241 скачивание
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Исходник от WinAVR'а, поэтому надо открыть Makefile WinAVR'ным MFile'ом и выставить через меню другой MKU. После этого открыть исходники и, вооружившись двумя даташитами, подправить под другой камень все зависимые вещи. Процы сильно отличаются как объемом памяти, так и количеством периферии на борту, поэтому программу может протребоваться и переписать по иному, а может так статься, что и вовсе не удастся уложиться в М8: если сравнивать М640/М8, то памяти там - 8к/1к, таймеров16 - 4шт/1шт, входов/выходов - 86/23, ШИМ-выходов - 16/3, UART'ов - 4шт/1шт, ну, и так далее...SarCity писал(а):...подскажите как это сделать.
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
Yellow Tiger писал(а):В версии 1.25 хэлп-файл был размером в 2 мегабайта, что, конечно же, значительно содержательнее, чем хэлп в ~12 килобайт - переходи на эту версию и читай её хэлп.
Я скопировала часть хелпа из-за того что весь весит 6.5 Мб, а это превышает здешний лимит. Там только часть про директивы.
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
- Yellow Tiger
- Сверлит текстолит когтями
- Сообщения: 1148
- Зарегистрирован: Вт июл 08, 2008 12:24:17
- SarCity
- Прорезались зубы
- Сообщения: 215
- Зарегистрирован: Вт июн 10, 2008 09:17:06
- Откуда: г. Саратов
- Контактная информация:
Помогите только начавшему программеру
Есть код под тини861, пытаюсь переделать в мегу8.
Я не могу понять как 3 последних регистра использовать для меги8, т.е. у тини861 в регистре TIMSK битом 1 является TOIE0, а у меги8 в этом регистре в бите1 ничего нет, прочерк (по даташиту). Такая же ситуация и с остальными двумя регистрами.
Кто поможет?
Код: Выделить всё
cli();
cnt = 0;
DDRB = 0x3;
PORTB = 0x83;
DDRA = 0xFF;
PORTA = 0xFF;
TIMSK= (1<<TOIE0);
TCCR0A = (1<<TCW0);
TCCR0B = (1<<CS00);
sei();
Я не могу понять как 3 последних регистра использовать для меги8, т.е. у тини861 в регистре TIMSK битом 1 является TOIE0, а у меги8 в этом регистре в бите1 ничего нет, прочерк (по даташиту). Такая же ситуация и с остальными двумя регистрами.
Кто поможет?
- Вложения
-
- .rar
- исходник
- (7.43 КБ) 224 скачивания
http://inetrating.ru/product_info.php?m ... eb0ea3c3d6
печатка есть у кого-нибудь?
печатка есть у кого-нибудь?
......aлкоголь расширяет сосуды, курение их сужает, а сдают почему-то нервы......
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18544
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
не понятно, с чего вы взяли, что в этих командах идет работа с 1-ым битом регистров? приведенная запись почти аппаратно-независима, поэтому не сомневайтесь: будет работать на обоих МКSarCity писал(а):т.е. у тини861 в регистре TIMSK битом 1 является TOIE0, а у меги8 в этом регистре в бите1 ничего нет, прочерк (по даташиту). Такая же ситуация и с остальными двумя регистрами.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!