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

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

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

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

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

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


 
Опции темы
Непрочитано 12.12.2012, 00:31  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 368
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Делал программу измерения углов и сопряжения с ПЛК.
Всё жизнь писал на АСМ, но арксинус меня сломал.
Перешёл на ССS.
Теперь всё заработало отлично, но столкнулся с невероятным.

Файл .h
#include ‹18F2520.h›
#device adc=16

#FUSES H4 //
#FUSES WDT32

#FUSES WDT //
#FUSES BORV45 //
#FUSES NOLVP //
#FUSES NOXINST //

Такой файл был создан CCS.
И не работает из-за конфиг. битов.
На первый #FUSES WDT, ..... реагирует , на остальные нет.
Но если записать

#FUSES WDT,H4,WDT32,NOLVP,NOXINST//,BORV45

То всё становиться на свои места.
Так пишут вроде во всех книгах, которые изучал.
Похоже на некоторый кофликт версий ССS и MPLAB 8.63.
Пока осталась неясна ситуация с BORV45.
Если поставить вперёд, то тоже ничего не работает.
Но это мелочь.
Глупее ситуацию трудно придумать имеешь рабочую программу
случайно ставишь WDT вперёд H4 и ничего вдруг не работает.
Но это ещё понять надо. Просто не обратил внимание и вроде и не может влиять.
И два дня ушли на эти разборки.
Вопрос сей факт имеет место?
Реклама:
Sergey_57 вне форума  
Непрочитано 12.12.2012, 14:06  
Eddy71
Почётный гражданин KAZUS.RU
 
Аватар для Eddy71
 
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,700
Сказал спасибо: 5,497
Сказали Спасибо 25,124 раз(а) в 5,642 сообщении(ях)
Eddy71 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Несколько раз тоже такое видел. Все решается очень просто: тыкаете правой кнопкой мышки на строчке с #include ‹18F2520.h› и выбираете OpenFile.. (это в среде MPlab) и открываете этот самый 18F2520.h В первых строчках его идут перечисленные валидные фузы. Их и подсматриваете. Насколько я понял, это связано с тем, что на CCS над визардом и хидерами работают разные команды и иногда их версии опережают друг дружку
Eddy71 вне форума  
Непрочитано 12.12.2012, 15:02  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 368
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

И ещё вопрос.
Как понимаете это моя первая программа.

В проект входит 8 файлов.
Если файл один то хххх.h включается в первый файл проекта.
С одним фале в проекте вроде всё нормально.
В остальные я вначале включал 18f2520.h.
Но не работает из-за конфиг. битов.
Такое впечатление что конфиг. биты в этом случае сбрасываются.
Потом в каждый включил хххх.h и в каждом хххх.h записал строку

#FUSES WDT,H4,WDT32,NOLVP,NOXINST/

Как в ССS делать правильно при нескольких файлах проекта?
На этот вопрос я не нашёл ответа ни в документации, ни в примерах.
Хотелось писать сразу правильно.

Как ходят уже вроде понятно, осталось уточнить как сдают.
Sergey_57 вне форума  
Непрочитано 12.12.2012, 17:20  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от welcome61 Посмотреть сообщение
Макетки, отладчики и другое "железо" - мое ИМХО.
В перечне, в самом начале должна стоять ГОЛОВА. Правда, она не совсем "железо", но иногда отлаживать помогает. Если включить.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 12.12.2012, 17:28  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от Sergey_57 Посмотреть сообщение
И ещё вопрос.
Как понимаете это моя первая программа.

В проект входит 8 файлов.
Если файл один то хххх.h включается в первый файл проекта.
С одним фале в проекте вроде всё нормально.
В остальные я вначале включал 18f2520.h.
Но не работает из-за конфиг. битов.
Такое впечатление что конфиг. биты в этом случае сбрасываются.
Потом в каждый включил хххх.h и в каждом хххх.h записал строку

#FUSES WDT,H4,WDT32,NOLVP,NOXINST/

Как в ССS делать правильно при нескольких файлах проекта?
На этот вопрос я не нашёл ответа ни в документации, ни в примерах.
Хотелось писать сразу правильно.

Как ходят уже вроде понятно, осталось уточнить как сдают.
А зачем конфигуратор выносить в хидер? В главном файле прямо и пишите. А остальные хидеры - по вкусу. Только если не хотите плодить дублей, закрывайте хидеры рамками условной трансляции.
Код:
#ifndef _MYHEADER_H_
#define _MYHEADER_H_
...
...
#endif
Почитайте литературку по модульности, видимости переменных и прочей организаторщине.
Еще вы не сообщили публике, каким образом вы организовали сборку проекта. Инклудами или линкером?
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Непрочитано 12.12.2012, 19:26  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от welcome61 Посмотреть сообщение
Я в свое время также наглотался "ЧУДЕС" от Протеуса и теперь к нему не подхожу.
Знакомые сказки...
А на поверку всегда выходит, что руки увы кривые...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 12.12.2012, 21:02  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 368
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от ut1wpr Посмотреть сообщение
А зачем конфигуратор выносить в хидер? В главном файле прямо и пишите. А остальные хидеры - по вкусу. Только если не хотите плодить дублей, закрывайте хидеры рамками условной трансляции.
Код:
#ifndef _MYHEADER_H_
#define _MYHEADER_H_
...
...
#endif
Почитайте литературку по модульности, видимости переменных и прочей организаторщине.
Еще вы не сообщили публике, каким образом вы организовали сборку проекта. Инклудами или линкером?
Ну я как приличный взял визард CCS и и он мне создал main.h
и запихнул туда конфигурацию. Это что не совсем корректно?

Потом визард MPLAB 8.63 создаю проект и.т.д В нём и работаю
просто уже привык к нему.

Программу уже отладил , но небольшие вопросы остались.
Как раз про модульность у меня ничего нет.
Где почитать ?

Даже и не представлял и не задумывался , что можно Инклудами.

Не буду отрывать ваше время конкретный вопрос.

К примеру 2 файл проекта.среда MPLAB 8.63 + ССS.
Надо указать с чем работать
я вначале включал 18f2520.h.Компиляция идёт. Но не работает из-за конфиг. битов.
Потом в каждый включил main.h и в каждом записал строку
#FUSES WDT,H4,WDT32,NOLVP,NOXINST.
Пробовал Вносить и выносить из файла .h всё нормально.

ПОЧЕМУ В КАЖДОМ ФАЙЛЕ ПРОЕКТА должно быть
после 18f2520.h ( я работаю в 4 файлах с разными портами и выводами) в кажом должно стоять(как вариант в последнем)
после 18f2520.h #FUSES WDT,H4,WDT32,NOLVP,NOXINST.
Что настройки сбрасываются каждый раз после этого файла.

И почему из этого списка выполняется любой первый и всё
#FUSES H4 //
#FUSES WDT32

#FUSES WDT //
#FUSES BORV45 //
#FUSES NOLVP //
#FUSES NOXINST //
Кривизны рук здесь не вижу.
Sergey_57 вне форума  
Непрочитано 13.12.2012, 05:29  
welcome61
Почётный гражданин KAZUS.RU
 
Аватар для welcome61
 
Регистрация: 11.06.2006
Адрес: 51° 46′ 0″ N, 55° 6′ 0″ E
Сообщений: 1,975
Сказал спасибо: 370
Сказали Спасибо 1,725 раз(а) в 706 сообщении(ях)
welcome61 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Пример заголовка в основном файле. Подключаю необходимые файлы при
помощи #include
[HTML]#include ‹18F252.H›

#device ADC=10
#fuses Hs, NOWDT, NOPROTECT, NOLVP, NOCPD, NOWRT, PUT, NOWRTD
#use delay(clock=40M, oscillator=10M)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BITS=

#include ‹stdlib.h›
#include ‹math.h›
#include ‹Indicat_7.c›
#include ‹Driver_MP3.c›[/HTML]
welcome61 вне форума  
Сказали "Спасибо" welcome61
Sergey_57 (13.12.2012)
Непрочитано 13.12.2012, 09:42  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Сообщение от welcome61 Посмотреть сообщение
Пример заголовка в основном файле. Подключаю необходимые файлы при
помощи #include
[HTML]#include ‹18F252.H›

#device ADC=10
#fuses Hs, NOWDT, NOPROTECT, NOLVP, NOCPD, NOWRT, PUT, NOWRTD
#use delay(clock=40M, oscillator=10M)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, BITS=

#include ‹stdlib.h›
#include ‹math.h›
#include ‹Indicat_7.c›
#include ‹Driver_MP3.c›[/HTML]
Сие действо означает, что у вас в проекте не несколько файлов, а всего лишь один исходный файл. Все остальные просто включаются. Линкер отдыхает.
__________________
С уважением,
Vic / ut1wpr
ut1wpr вне форума  
Сказали "Спасибо" ut1wpr
Sergey_57 (13.12.2012)
Непрочитано 13.12.2012, 10:36  
Sergey_57
Вид на жительство
 
Регистрация: 12.12.2012
Сообщений: 368
Сказал спасибо: 31
Сказали Спасибо 204 раз(а) в 112 сообщении(ях)
Sergey_57 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Большое спасибо.
Сразу отпали все вопросы.

Даже можно Инклудами.
Всё очень логично и просто.



Это конструкция просто не работает в данной версии с линкером.
А вот с инклудами на проверить.

#FUSES H4 //
#FUSES WDT32

#FUSES WDT //
#FUSES BORV45 //
#FUSES NOLVP //
#FUSES NOXINST //

Сталкивался с таким много раз.
Особенно запомнилось с ПО на панели оператора KINCO.
В фирме дали ПО. При вводе через экранный интерфейс вводит
на одно нажатие по 2 цифры.
Это у них стандартная подпрограмма.
Узнал и про кривые руки и много чего интересного про себя в культурной форме.
Пока не периписал и не ввёл задержки толку не было.
Sergey_57 вне форума  
 

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

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

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


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