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

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

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

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

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

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


 
Опции темы
Непрочитано 13.09.2014, 18:36  
ZoomerJuk
Временная регистрация
 
Регистрация: 12.09.2008
Сообщений: 61
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 5 сообщении(ях)
ZoomerJuk на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Обьясните, как правильно создавать массивы в CCS.
В программе объявляю локально массив данных, проблема в том, что объявление массива увеличивает прошивку на дохрена байт, но ведб массив хранится в RAM, и я его не никак не инициализирую! но самое интересное - размер увеличения очень непонятно зависит от размера объявляемого массива.

int8 data[130]; - ROM 2632
int8 data[150]; - ROM 2864 (добавил 20 элементов, а прошивка увеличилась на 232!)
int8 data[180]; - ROM 2752 (добавил еще 30 - прошивка уменьшилась!)
Реклама:
ZoomerJuk вне форума  
Непрочитано 22.09.2014, 23:08  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от ZoomerJuk Посмотреть сообщение
и я его не никак не инициализирую!
Объявляя его (массив) уже даёшь команду компилятору на выделение для него участка памяти размером в длинну(130-180) и глубинойх8bit (8bit кажется это объём одной адресуемой ячейки памяти).
То что получается разный объём занимаемой памяти - то это может быть уловки самого компилятора. Попробуй поставить перед определением типа - спецификатор Pragma, и посмотри чего получиться, но не поручусь за успех, надо пробовать...
Prototup вне форума  
Сказали "Спасибо" Prototup
ZoomerJuk (23.09.2014)
Непрочитано 22.09.2014, 23:18  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от vlad_ru Посмотреть сообщение
ожет кто знает где взять 5.027 ???
Это похоже тупиковая ветка книги Шпака!
Ситуация если не улучшится, в ближайшее время, буду присматриваться к IARовскому компилятору.
У кого есть более оптимистичные взгляды на этот облом?
Prototup вне форума  
Непрочитано 23.09.2014, 08:45  
varostov
Прописка
 
Регистрация: 14.10.2006
Адрес: Ростов-на-Дону
Сообщений: 113
Сказал спасибо: 14
Сказали Спасибо 32 раз(а) в 21 сообщении(ях)
varostov на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Я иногда по старой памяти заглядываю в эту ветку, и за несколько лет почти ничего не поменялось. CCS + Шпак о-о-очень хорош для начинающих, но как только ты хочешь сделать шаг влево, шаг вправо от стандартных операций, наступает "Гитлер капут". Я сам 3-4 года назад через великую ломку сменил одновременно и процессор (PIC18 --› PIC24), и компилятор (CCS --› MPLAB C30). Теперь я решаю чисто технические вопросы, а не танцую с бубном . Так что рекомендую поскорее расстаться с детскими ходунками... Кому это не понравится, прошу не кидать в меня трупиками 16-х ПИКов
varostov вне форума  
Сказали "Спасибо" varostov
ZoomerJuk (23.09.2014)
Непрочитано 25.09.2014, 13:46  
kobzar
Частый гость
 
Регистрация: 10.06.2005
Сообщений: 30
Сказал спасибо: 13
Сказали Спасибо 22 раз(а) в 9 сообщении(ях)
kobzar на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Нелинейная зависимость размерности массива и обьема выделяемой памяти ИМХО связана с сегментированием RAM. Массив может помещаться в один банк (и тогда его размерность совпадет с выделяемой памятью), или в 2 банка или даже в три. В этих случаях компилер добавляет какую-то служебную инфу к массиву. ПРИ ЭТОМ обращение к элементам массива ПО ИНДЕКСУ работает корректно, а по указателям - МОЖЕТ и плющить. Сильно зависит от версии компилера и типа ПИКа. Как-то так...
kobzar вне форума  
Непрочитано 25.09.2014, 14:03  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от Prototup Посмотреть сообщение
буду присматриваться к IARовскому компилятору.
Опоздал и намного ...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 27.09.2014, 22:41  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от dosikus Посмотреть сообщение
Опоздал и намного ...
Я догадывался что скоро конец света, но не подозревал что так быстро
Prototup вне форума  
Непрочитано 29.09.2014, 13:01  
vlad_ru
Вид на жительство
 
Регистрация: 09.12.2006
Сообщений: 337
Сказал спасибо: 422
Сказали Спасибо 34 раз(а) в 26 сообщении(ях)
vlad_ru на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Помогите , как правильно пишется Left Shift operator (побитовый сдвиг).
Нужно изменить (написано для компилятора SDCC)

DS = (c ›› i) & 1;

для PIC CCS
оригинал
http://rxlab.org/knowledgebase/?doc=17

Последний раз редактировалось vlad_ru; 29.09.2014 в 13:19.
vlad_ru вне форума  
Непрочитано 29.09.2014, 13:01  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,702
Сказал спасибо: 5,498
Сказали Спасибо 25,129 раз(а) в 5,644 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Опять слюнки текут:

5.027 has fairly serious issues when using the CCS ICD debugger.....5.028 is supposed to fix these undeserved issues
Recent changes
5.028 Include file search rules have been tightened up to only look in specified directories
5.028 An optimization error initializing some large arrays on a PIC18 is fixed
5.028 sprintf optimization has been improved
5.028 A undeserved debugger error reporting a bad device ID is fixed
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/

моя домашняя страничка: http://www.eddy.com.ua/
Eddy71 вне форума  
Непрочитано 29.09.2014, 23:30  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,530
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Какой-то странный глюк. Первый раз такое.
Старенький 18F258, прикручиваю к нему дисплейчик 12864. В Протеусе работает. Паяю железку. Обломс... Два старших бита порта данных не дергаются. Засада. Думаю, спалил. Ан нет. Через них же программирование идет. Короткая тестовая прога - простой ногодрыг. Как часы работает. Заливаю заново рабочую прошивку - не работает... Создал новый проект, начал кусками текст передирать. Работает нормально. ПОЛНОСТЬЮ скопировал весь текст в новый файл, скомпилировал - работает. Жесть. А дальше я решил поюзать АЦП... Один канал - полет нормальный. Три канала - полный бред.Причем, если напряжение подавать только на одну ногу - работает, но при этом остальные каналы выдают похожие результаты. Плату помыл. Один х. Если посадить любой из каналов на землю, на других выше 0x2BC при 5в на входе не выдает. В общем, поразвлекавшись день, плюнул, оставил один канал (работает отлично). Не судьба.

И вот, объясните тупому, почему
PHP код:
((›› 3) & 0xBF) | 0xB8 
работает раз в 8 быстрее, чем
PHP код:
(y/0xBF) | 0xB8 
? Правда, это не CCS (в нем как раз нормально), а XC8.

Кстати, а нет ли у кого работающего драйвера под 12864 для XC8? Предыдущий абзац из попытки передрать драйвер из CCS. Неудачной попытки. Вроде как все похоже, но дисплей не реагирует.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
 

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

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

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, время: 16:24.


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