реклама на сайте
подробности

 
 
> синус, таблица синуса
siriasis
сообщение Jun 4 2005, 11:21
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 40
Регистрация: 26-05-05
Пользователь №: 5 438



Мужики нужна таблица синуса на 256 отсчетов на 2313 . Опыты у самого мало. Может вы чем- нибудь поможете.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
siriasis
сообщение Jun 4 2005, 18:05
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 40
Регистрация: 26-05-05
Пользователь №: 5 438



2313 это At90s2313/

Да мужики я молодой в этом деле, и Си пока не изучал. Только ассемблер потихоньку освоил. Так что не могли бы объяснить как на ассемблере написать таблицу.
Go to the top of the page
 
+Quote Post
vet
сообщение Jun 5 2005, 09:42
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



Цитата(siriasis @ Jun 4 2005, 22:05)
2313 это At90s2313/

Да мужики я молодой в этом деле, и Си пока не изучал. Только ассемблер потихоньку освоил. Так что не могли бы объяснить как на ассемблере написать таблицу.
*


Да элементарно. Таблица - набор чисел (скажем, байт), следующих во FLASH друг за другом. Произвольные байты размещаются в памяти ассемблерной директивой .DB n1, n2, ...
Взять число из таблицы по индексу - значит, вычислить смещение от начала этого набора и выполнить команду LPM.
С расчётом таблицы, думаю, проблем не возникнет )

Как результат, имеем примерно такой код:
Код
;п/п принимает индекс в регистре R30, возвращает значение таблицы в регистре R0
get_sin:
         ldi r31,0
         subi r30,-low(sintable*2)
         sbci r31,-high(sintable*2)
         lpm
         ret

sintable:
         .db   0,  1,  2,  3,  5,  6,  7,  8,  9, 10, 11, 12, 13, 15, 16, 17
         .db .....все остальные значения


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 15:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016