http://www.radiokot.ru/forum/viewtopic.php?t=5192
Числа с плавающей точкой в микроконтроллерах AVR
Можно сделать на Си переменную и запись в нее значения из регистра таймера, скомпилировать и посмотреть листинг на АСМе - вот пример
http://www.radiokot.ru/forum/viewtopic.php?t=5192
http://www.radiokot.ru/forum/viewtopic.php?t=5192
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Реклама
Это о записи в EEPROM - "Accessing the EEPROM"McDrew писал(а):Перечитал несколько источников, том числе avr100.asm
примеры на АСМ и Си смотрите в даташит на AVR Mega и Тини
========
Кстати посмотрите еще раз текст avr100.asm и сравните с этим !
Код: Выделить всё
#include <90S8535>
eeprom int f; // переменная f в EEPROM
void main(void)
{
f = TCNT2; // записать значение таймера2 в f
while (1); // быть тут всегда
}Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 15
- Зарегистрирован: Чт май 10, 2007 10:32:55
В каком редакторе ваша программа? В АВР студио этот код не работает... 
В компиляторе CVAVR (2.4 Мб всего) - я же написал что код для примера ПРОСТОТЫ привел.
Вот шаблон для CVAVR - http://www.radiokot.ru/forum/viewtopic.php?t=2273
Вот шаблон для CVAVR - http://www.radiokot.ru/forum/viewtopic.php?t=2273
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 15
- Зарегистрирован: Чт май 10, 2007 10:32:55
tych, но ЕЕПРОМ, это ведь и есть встроенная память данных?
Я просто только-только вникаю... еще не разобрался...
Я просто только-только вникаю... еще не разобрался...
- Реклама
ну можно наверно и так сказать. EEPROM медленно записывается и хранит данные при выключении МК - более 100000 перезаписей вроде допускает.
Еще есть "оперативка" SRAM и 32 регистра общего назначения и память Флэш - в нее программу записывают.
Обычные переменные располагаются компилятором в SRAM.
Еще есть "оперативка" SRAM и 32 регистра общего назначения и память Флэш - в нее программу записывают.
Обычные переменные располагаются компилятором в SRAM.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 15
- Зарегистрирован: Чт май 10, 2007 10:32:55
В флэш памяти (памяти программ?) происходит обращение по адресам .org, правильно? Например, начало программы начинается с . орг 0, а прерывание по переполнению таймера 2 происходит по адресу .орг 4... Что это за адреса такие? И как их узнать? В памяти данных тоже есть такие адреса?
Как я понял - EEPROM - это как бы внутреннее ПЗУ, у которого сранитеьно небольшое количество циклов перезаписи? Но можно подключать еще и внешнюю память, с "лучшими характеристиками"?
EEPROM (энергонезависимая), SRAM (ОЗУ) - это все память данных? Кроме flash, кторая является памятью программ? В нее и шьется сама программа?
А R0-R31 - "рабочие" регистры.
Начитался про Гарвардскую архитектуру, хотелось бы все расставить по полочкам. Спасибо за терпение!
Как я понял - EEPROM - это как бы внутреннее ПЗУ, у которого сранитеьно небольшое количество циклов перезаписи? Но можно подключать еще и внешнюю память, с "лучшими характеристиками"?
EEPROM (энергонезависимая), SRAM (ОЗУ) - это все память данных? Кроме flash, кторая является памятью программ? В нее и шьется сама программа?
А R0-R31 - "рабочие" регистры.
Начитался про Гарвардскую архитектуру, хотелось бы все расставить по полочкам. Спасибо за терпение!
Последний раз редактировалось McDrew Сб май 12, 2007 18:02:42, всего редактировалось 1 раз.
Советую не забивать голову а писать на Си. Я тебе уже привел пример для сравнения.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 15
- Зарегистрирован: Чт май 10, 2007 10:32:55
К сожелению, в университете настаивают на АВР Студио, хотя Си было бы приятней и полезнее... 
Может не знают что есть бесплатный Си компилятор WinAVR ?McDrew писал(а):в университете настаивают на АВР Студио, хотя Си было бы приятней и полезнее...
И бесплатный симулятор VMLAB
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
- Сообщения: 15
- Зарегистрирован: Чт май 10, 2007 10:32:55
Утверждают, что наиболее удобный и развитой АВР Студио...
офф: У нас в университете тоже считают, что наиболее удобное и развитое - это АВРСтудио.
Поэтому и лабу, где было необходимо реализовать биквадратное звено с дробными коэффициентами предложили делать на ассемблере либо с плавающей, либо с фиксированной точкой. Я решил разобраться и сделал с плавающей. Два товарища из группы сказали "нафик нужно и сделали на Си"
Если интересно самому разобраться с алгоритмами работы с числами с плавающей точкой, то рекомендую книжку "Злобин В. К. Григорьев В. Л. Программирование арифметических операций на МП: Учеб. пособие для технических вузов.-М.: Высш. шк., 1991.-303 с.: ил." Там правда описано для МП К580, но при определенной доле терпения можно разобраться что и как они делают, и написать то же самое для МК АВР. Там же объяснены и арифметические операции с числами с фиксированной точкой. Книжка относительно легко находится в .djvu формате (~3 MB), но если не получится найти, то я попробую где-нить выложить.
У меня сложилось мнение, что применять плавающую точку на АВР-ках обычно не нужно, ибо вполне хватает и фиксированной, работа с которой занимает гораздо меньше тактов МК. Хотя с другой стороны у чисел с плавающей точкой бОльший представляемый диапазон. У меня не так много опыта, поэтому имхо.
На всякий случай подклею свою программу. Написано наверно неочень красиво и кое-где непродуманно и неоптимизированно, но, может, кому-нибудь поможет.
Если интересно самому разобраться с алгоритмами работы с числами с плавающей точкой, то рекомендую книжку "Злобин В. К. Григорьев В. Л. Программирование арифметических операций на МП: Учеб. пособие для технических вузов.-М.: Высш. шк., 1991.-303 с.: ил." Там правда описано для МП К580, но при определенной доле терпения можно разобраться что и как они делают, и написать то же самое для МК АВР. Там же объяснены и арифметические операции с числами с фиксированной точкой. Книжка относительно легко находится в .djvu формате (~3 MB), но если не получится найти, то я попробую где-нить выложить.
У меня сложилось мнение, что применять плавающую точку на АВР-ках обычно не нужно, ибо вполне хватает и фиксированной, работа с которой занимает гораздо меньше тактов МК. Хотя с другой стороны у чисел с плавающей точкой бОльший представляемый диапазон. У меня не так много опыта, поэтому имхо.
На всякий случай подклею свою программу. Написано наверно неочень красиво и кое-где непродуманно и неоптимизированно, но, может, кому-нибудь поможет.
- Вложения
-
- lab3.zip
- (7.73 КБ) 380 скачиваний
Шел шушпанчик по шоссе и сосал шушпалку.
- Сообщения: 54
- Зарегистрирован: Ср авг 29, 2007 01:37:56


