29.09.2007, 10:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
|
Попробовал еще раз используя фукцию типа
const unsigned char PICTURE[3][128]=
Результат тот же.
Error 87 "ccc.c" Line 31(35,36): Data item too big
*** Error 43 "ccc.c" Line 32(1,2): Expecting a declaration
*** Error 43 "ccc.c" Line 33(22,23): Expecting a declaration
*** Error 43 "ccc.c" Line 33(25,29): Expecting a declaration
*** Error 43 "ccc.c" Line 33(29,30): Expecting a declaration
*** Error 43 "ccc.c" Line 33(30,34): Expecting a declaration
.............................................
.............................................
100 Errors, 0 Warnings.
Это в CCS лечится?
|
|
|
|
29.09.2007, 10:29
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Код в студию , и версию компилятора / иде.
|
|
|
|
29.09.2007, 11:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
|
MPLAB 7.62 для 16F876A.
CCS v4.049
Код чисто учебный по алгоритму скачанному с сайта производителя индикаторов МЭЛТ
Спаял макетку и эксперементирую с целью изучения на железе.
В коде объявлен массив [3][128], а по замыслу предполагается 8 страниц по 128 строк, т.е. [8][128].
Кстати, не подскажите где можно ознакомится с алгоритмами или примерами программной реализации
измерения АЧХ на PIC, так как задача определена следующая - исследование сигнала с частотой до 20 кГц
, коль-во точек исследования - мин 4,макс - 10.
Контрольные точки (частота) может изменяться.
Вывод - ЖКИ.
Прикрепленный файл: 5828740.rar
|
|
|
|
29.09.2007, 16:49
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Похоже многомерные массивы для ROM не катят.
Используй каждый массив под своим именем.
А если с английским дружишь задай вопрос здесь.
http://www.ccsinfo.com/forum/index.php
Только не советую ссылаться на свой плохой английский, тем более светить что ты из России.
В лучшем случае проигнорируют...
|
|
|
|
01.10.2007, 11:35
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Если не хотите менять компилятор, то поставьте ассемблерную вставку - хотя лично я бы компилятор сменил.
размер таблицы - 8*128 байт - 8 столбцов по 127 строк
Ничего сам не придумываю, беру из ассемблерного листинга компилятора.
Итак, нужно 2 регистра - младший регистр - аккумулятор, старший - в моем случае 0х36
аккумулятор сохраняется - по адресу 0х35
начало таблицы у меня адрес 0х78
для 0 столбца и 0 строки он и останется
для нулевого столбца и 127 строки адрес ячейки будет 0х78 + 0x7f = 0xf7
для первого столбца и 0 строки 0х78 + 0х80 =f8
для первого столбца и 10 строки будет 0х78+ 0х80 +0а = 102
т.е. в дополнительный регистр 36 - 1, а в аккумулятор -2
для последней ячейки массива - 7 столбец и 127 строка
0х78 + 7*0x80 + 0х7f = 0x477
Для примера
[2][64] = адрес начала таблицы (0х7 ![Горд собой](images/smilies/icon_dovl.gif) + 2* 0х80 + 0х40=
0x1b8
Код:
|
54: stolbez=2;
55: stroka=64;
56: temp=rrr[stolbez][stroka];
489 3001 MOVLW 0x1// старший адрес
48A 00B6 MOVWF 0x36
48B 30B8 MOVLW 0xb8// младший адрес
48C 2062 CALL 0x62
CALL 0x62:
99 062 1283 BCF 0x3, 0x5
100 063 1303 BCF 0x3, 0x6
101 064 00B5 MOVWF 0x35
102 065 1BB6 BTFSC 0x36, 0x7
103 066 2870 GOTO 0x70
104 067 1B36 BTFSC 0x36, 0x6
105 068 2878 GOTO 0x78
106 069 0836 MOVF 0x36, W
107 06A 008A MOVWF 0xa
108 06B 0835 MOVF 0x35, W
109 06C 0AB5 INCF 0x35, F
110 06D 1903 BTFSC 0x3, 0x2
111 06E 0AB6 INCF 0x36, F
112 06F 0082 MOVWF 0x2
113 070 1383 BCF 0x3, 0x7
114 071 1836 BTFSC 0x36, 0
115 072 1783 BSF 0x3, 0x7
116 073 0835 MOVF 0x35, W
117 074 0AB5 INCF 0x35, F
118 075 0084 MOVWF 0x4
119 076 0800 MOVF 0, W
120 077 0008 RETURN
121 078 3431 RETLW 0x31 |
|
|
|
|
01.10.2007, 17:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
|
Компилятор решил не менять -не вижу особых причин для этого.
А вот процессор сменил на PIC18F258 с большим RAM.
Компиляция прошла успешно. Прошил на "клоне" ICD2,
поставил в макетку и все заработало как надо.
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.
Всем спасибо.
Еще вопросы зреют
|
|
|
|
01.10.2007, 18:02
|
|
Почётный гражданин KAZUS.RU
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
|
Сообщение от welcome61
|
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.
|
нет.
|
|
|
|
01.10.2007, 20:48
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Сообщение от welcome61
|
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.
Всем спасибо.
Еще вопросы зреют
|
Вообще то в 16 можно и из ROM читать/писать
и места там хватит .
Тут скорей косяк в компиляторе PCM .
Надо вопрос на их форуме задать.
А то я понять не мог , почему они примеры
для LCD графических для 16 пиков без шрифта выкладывают...
|
|
|
|
03.10.2007, 13:13
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Не могу сообразить,сел разбиратся с rs232,функциями getc и putc,смотрю ассамблерный код в протеусе и не вижу как сам по себе перескакивает в обработку передачи rs232,при объявлении символа char c; также при работе функций.Вот сфотал в протеусе,это главная программа main.c,нет самой команды перехода,а он все таки переходит в подпрограмму main.h на #use rs232.
-- Прилагается рисунок: --
Прикрепленный файл: 4949380.rar
|
|
|
|
03.10.2007, 13:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
А вот сюда переходит в main.h.
rs232 сделан програмно,пока еще не разобрался как сильно,но то что нет видимого перехода меня сильно смутило
-- Прилагается рисунок: --
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:34.
|
|