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

 
 
> Си указатель на таблицу, Как пристегнуть массив?
Alhen
сообщение Feb 2 2006, 18:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



Все решено перехожу на Си!
Только вот незадача, первая же простенькая практическая задача
для AVR контроллера поставила в тупик.
Суть программы:
- в памяти программ размещается таблица или массив;
- берем по очереди байт из массива и выкидываем в коммуникационный порт.

Массив находится в пристегиваемом файле и я не понимаю как указать
какому либо поинтеру на начало таблицы.
На ассемблере все получается достаточно гармонично:
Код
    ldi zh,high(Transmit_Buff*2); Load Z-pointer
    ldi zl,low(Transmit_Buff*2); to the beginning of Receive_Buff

Transmit_Loop:

USART_Transmit:
; Wait for empty transmit buffer
    sbis UCSRA,UDRE
    rjmp USART_Transmit
; Put data  into buffer, sends the data
    lpm  Data_IN, Z+
    out UDR, Data_IN

        ldi  TempReg,high(end_of_file*2); Check if we got high end_of_file
        cp   TempReg,zh        ; Compare
        breq got_high_end_of_file; If equal then check the Low part
            rjmp go_further:

got_high_end_of_file:
        ldi  TempReg,low(end_of_file*2); Check if we got low end_of_file
        cp   TempReg,zl        ; Compare
        breq got_low_end_of_file; If equal then reload Z-pointer
            rjmp go_further:

got_low_end_of_file:
        ldi zh,high(Transmit_Buff*2); Load Z-pointer
        ldi zl,low(Transmit_Buff*2); to the beginning of Receive_Buff

go_further:
rjmp Transmit_Loop

Transmit_Buff:

.include "AIS_LOG.txt"

end_of_file:
nop

Реализация подбной программы на Си AVR для меня загадка.
Тем более что я нашел подходящую конструкцию на VisualDSP,
Код
complex_fract16 in[VEC_SIZE] =
{
    #include "in.dat"
};

но в CVAVR такое не проходит!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- - beer_warrior   Кодstruct { volatile BYTE mode; volatile WORD ...   Feb 2 2006, 18:56
- - Old1   Цитата(Alhen @ Feb 2 2006, 22:19) Массив ...   Feb 2 2006, 19:43
- - Alhen   Цитата__flash unsigned char TABL[10]={1,2,3,4,5,6,...   Feb 3 2006, 04:52
|- - vet   Цитата(Alhen @ Feb 3 2006, 07:52) Цитата ...   Feb 3 2006, 06:45
|- - Old1   Цитата(Alhen @ Feb 3 2006, 08:52) Не могу...   Feb 3 2006, 07:46
- - BVU   Таблицу всегда можно представить массивом, либо ст...   Feb 3 2006, 08:05
- - Nixon   Я делал вот так: в файле "data.txt" : К...   Feb 3 2006, 08:30
- - AndyBig   А еще в IAR можно пристегнуть любой файл как бинар...   Feb 3 2006, 10:07
- - k0t   Проще и удобнее всего подключение файла делать так...   Feb 3 2006, 13:19
|- - Old1   Цитата(k0t @ Feb 3 2006, 17:19) Проще и у...   Feb 3 2006, 18:46
|- - vet   Цитата(Old1 @ Feb 3 2006, 21:46) Цитата(k...   Feb 3 2006, 21:02
- - Alhen   2Nixon Попробывал я обыграть макрос и в CodeVision...   Feb 4 2006, 06:00
|- - vet   Цитата(Alhen @ Feb 4 2006, 09:00) Уже виж...   Feb 4 2006, 12:42
- - k0t   Цитата(Old1 @ Feb 3 2006, 21:46) Цитата(k...   Feb 4 2006, 12:30
- - Old1   2 k0t & vet Спасибо, но, я уже сам понял, что ...   Feb 4 2006, 20:12
- - k0t   Это-ж в РУЧНУЮ делать прийдется. А прог, которые и...   Feb 6 2006, 06:55
- - Old1   Цитата(k0t @ Feb 6 2006, 09:55) Это-ж в Р...   Feb 6 2006, 18:13


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

 


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


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