Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 29.09.2007, 10:26  
welcome61
Почётный гражданин KAZUS.RU
 
Аватар для welcome61
 
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
welcome61 на пути к лучшему
По умолчанию

Попробовал еще раз используя фукцию типа
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 лечится?
Реклама:
welcome61 вне форума  
Непрочитано 29.09.2007, 10:29  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Код в студию , и версию компилятора / иде.
dosikus вне форума  
Непрочитано 29.09.2007, 11:26  
welcome61
Почётный гражданин KAZUS.RU
 
Аватар для welcome61
 
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
welcome61 на пути к лучшему
По умолчанию

MPLAB 7.62 для 16F876A.
CCS v4.049
Код чисто учебный по алгоритму скачанному с сайта производителя индикаторов МЭЛТ
Спаял макетку и эксперементирую с целью изучения на железе.
В коде объявлен массив [3][128], а по замыслу предполагается 8 страниц по 128 строк, т.е. [8][128].

Кстати, не подскажите где можно ознакомится с алгоритмами или примерами программной реализации
измерения АЧХ на PIC, так как задача определена следующая - исследование сигнала с частотой до 20 кГц
, коль-во точек исследования - мин 4,макс - 10.
Контрольные точки (частота) может изменяться.
Вывод - ЖКИ.

Прикрепленный файл: 5828740.rar
welcome61 вне форума  
Непрочитано 29.09.2007, 16:49  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Похоже многомерные массивы для ROM не катят.
Используй каждый массив под своим именем.

А если с английским дружишь задай вопрос здесь.
http://www.ccsinfo.com/forum/index.php
Только не советую ссылаться на свой плохой английский, тем более светить что ты из России.
В лучшем случае проигнорируют...
dosikus вне форума  
Непрочитано 01.10.2007, 11:35  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Если не хотите менять компилятор, то поставьте ассемблерную вставку - хотя лично я бы компилятор сменил.
размер таблицы - 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+ 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
urry вне форума  
Непрочитано 01.10.2007, 17:20  
welcome61
Почётный гражданин KAZUS.RU
 
Аватар для welcome61
 
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
welcome61 на пути к лучшему
По умолчанию

Компилятор решил не менять -не вижу особых причин для этого.
А вот процессор сменил на PIC18F258 с большим RAM.
Компиляция прошла успешно. Прошил на "клоне" ICD2,
поставил в макетку и все заработало как надо.
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.

Всем спасибо.
Еще вопросы зреют
welcome61 вне форума  
Непрочитано 01.10.2007, 18:02  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Сообщение от welcome61
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.
нет.
urry вне форума  
Непрочитано 01.10.2007, 20:48  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию

Сообщение от welcome61
По всей видимости ограничением при создании массива является величина RAM памяти в PIC 16 серии.

Всем спасибо.
Еще вопросы зреют
Вообще то в 16 можно и из ROM читать/писать
и места там хватит .
Тут скорей косяк в компиляторе PCM .
Надо вопрос на их форуме задать.
А то я понять не мог , почему они примеры
для LCD графических для 16 пиков без шрифта выкладывают...
dosikus вне форума  
Непрочитано 03.10.2007, 13:13  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Не могу сообразить,сел разбиратся с rs232,функциями getc и putc,смотрю ассамблерный код в протеусе и не вижу как сам по себе перескакивает в обработку передачи rs232,при объявлении символа char c; также при работе функций.Вот сфотал в протеусе,это главная программа main.c,нет самой команды перехода,а он все таки переходит в подпрограмму main.h на #use rs232.

-- Прилагается рисунок: --


Прикрепленный файл: 4949380.rar
CERGEI1982 вне форума  
Непрочитано 03.10.2007, 13:17  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

А вот сюда переходит в main.h.
rs232 сделан програмно,пока еще не разобрался как сильно,но то что нет видимого перехода меня сильно смутило

-- Прилагается рисунок: --

CERGEI1982 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
i2c+ccs pic Gladkih Микроконтроллеры, АЦП, память и т.д 9 18.04.2016 22:17
PIC BASIC PRO Compiler 2.47 dosikus Proteus, KiCAD и другие ECAD 27 05.12.2009 05:48
изучение IAR AVR C compiler granel Микроконтроллеры, АЦП, память и т.д 0 10.10.2008 20:45
PIC C Compiler PCWH458 sergxxx Микроконтроллеры, АЦП, память и т.д 9 23.09.2008 18:25
Не включается дебаггер в CCS C Compiler BigMazzi Микроконтроллеры, АЦП, память и т.д 4 19.09.2008 13:34


Часовой пояс GMT +4, время: 08:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot