10.07.2022, 10:36
|
|
Почётный гражданин KAZUS.RU
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 369
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
|
|
|
|
10.07.2022, 22:46
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от welcome61
|
видимо наш резидент уже на пенсии.
|
Не, наверное санкциям поддался ....
|
|
|
|
18.09.2022, 17:34
|
|
Прохожий
Регистрация: 18.09.2022
Сообщений: 4
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Здравствуйте уважаемые форумчане! У меня есть вопрос по CCS C compiler 5.015 версии. Ранее работал только с pic16 без всяких проблем, перешел на контроллер pic18f4550 и обозначилась следующая проблема. При компиляции проекта в регистровом файле PIC18F4550_registers.h возникает множество ошибок одного типа - identifier is already used in this scope указывающие на строки (например)#byte T3CON = 0xFB1 как регистровые так и битовые #bit RC1 = PORTC.1. Причем совершенно аналогично созданные файлы на другие контроллеры только pic 16 при компиляции проекта подобные ошибки не выдают и спокойно компилируются. Естественно выбор соответствующего девайса, указание путей на drivers и devices в настройках проекта производил. В инклюде ‹› менял на " " не меняется ситуация.
Уже месяц как бьюсь с этим, ничего не помогает. Я имею небольшой опыт в программировании, поэтому просьба отнестись к этому с пониманием. Если кто сможет помочь в этом вопросе, буду очень благодарен!
|
|
|
|
18.09.2022, 20:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,608
Сказал спасибо: 5,437
Сказали Спасибо 24,932 раз(а) в 5,596 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
К сожалению, с версией 5.015 я не знаком, у меня чуток постарее, но думаю проблема может возникать из за обращения нештатным образом к ресурсам. Например, к выводу RC1 штатно обращаются так:
Код:
|
#define LED_GRN PIN_C1 |
и компилятор сам находит в каком регистре и по какому адресу какой бит лежит. Обращение к битам через адреса было актуально в ранних версиях компилятора, когда не все функции и регистры были прописаны. Потом это пофиксили и предложили конфигурировать регистры командами более высокого уровня.
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/
моя домашняя страничка: http://www.eddy.com.ua/
|
|
|
|
18.09.2022, 21:02
|
|
Прохожий
Регистрация: 18.09.2022
Сообщений: 4
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Спасибо за ответ. Но тогда не понятно почему PCM 14 bit контроллеры компилируются без проблем? Правда у 16 битных адресация регистров идет от 0xFFF и ниже, а у 14 битных от 0 и выше. Я пробовал переделать в файле адресацию по возрастанию как в 14 битных, не помогло.
|
|
|
|
18.09.2022, 22:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 369
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Сообщение от Aleksandr106
|
У меня есть вопрос по CCS C compiler 5.015 версии.
|
здесь выкладывалась версия 5.101
|
|
|
Сказали "Спасибо" welcome61
|
|
|
19.09.2022, 00:20
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,163
Сказали Спасибо 3,855 раз(а) в 2,926 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Aleksandr106, возьмите свой проект и осуществите руками симуляцию работы препроцессора - по всей цепочке include проверьте наличие во всех файлах заголовков, включая все include внутри заголовков, любого имени из сообщения об ошибке…
Тут или Вы сами начудили с include или вам попалась сыроватая версия библиотеки с заголовками…
AI на этом этапе компиляторы еще не обрели…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
Сказали "Спасибо" mike-y-k
|
|
|
19.09.2022, 01:04
|
|
Прохожий
Регистрация: 18.09.2022
Сообщений: 4
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Упаковал в структуры при создании PIC18F4550_registers.h при этом ранние ошибки ушли, но обращаться напрямую я могу только к регистрам, биты компилятор не видит, ими можно оперировать только командами (например) bit_clear(INTCON3,1); и bit_set(INTCON3,1);. Но меня это не устраивает, так как не могу понять как реализовать например прямое управление битом порта в обработчике прерываний RA4 = ~RA4 ;
Может все же найдется кто-то кто встречал и решил подобную проблему? Может проблема лежит в самом компиляторе, может нужно версию сменить? Какая кстати более свежая после 5.015?
welcome61
К сожалению, страница уже не доступна.
mike-y-k
Проект на одном с-файле из включений только #include ‹PIC18F4550_registers.h› файл создается автоматически компилятором при выборе девайса. Думаю, что последнее скорее, в компиляторе дело. Спасибо за помощь!
Проект рабочий изначально был на pic16f1938, но потом потребовалось два одинаковых 16-ти разрядных таймера для дополнительных функций, поэтому решил перейти на pic18f4550.
Последний раз редактировалось mike-y-k; 19.09.2022 в 01:34.
Причина: 6.6, 7.15
|
|
|
|
19.09.2022, 06:39
|
|
Временная регистрация
Регистрация: 30.01.2018
Адрес: Pakistan
Сообщений: 88
Сказал спасибо: 80
Сказали Спасибо 296 раз(а) в 60 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
|
|
|
Эти 8 пользователя(ей) сказали Спасибо tanveerriaz за это сообщение:
|
|
|
20.09.2022, 13:13
|
|
Прохожий
Регистрация: 18.09.2022
Сообщений: 4
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
tanveerriaz, Спасибо! Буду пробовать.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:21.
|
|