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

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

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

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

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

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


 
Опции темы
Непрочитано 21.09.2010, 17:01  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Имеется у меня icd2 и решил отладить код на Си через мплаб,да вот незадача не могу скомпилировать код в мплаб с помощью CCS.Хотя в родной оболочке CCS компилируется без ошибок.
Попробовал создать проект в одном файле,компиляция в мплаб прошла успешно.Но только я разбиваю на несколько файлов как появляется ошибка про объявлении процессора в файле(1 снимок),тогда вставляю в файл my_lcd.c строчку сначало:
Код:
#include ‹18F252.h›
ошибки нет,но появляются ошибки о том что функция delay_us не определена(снимок 2),будто каждый файл сам по себе,а не связываются воедино....
Миниатюры:
Нажмите на изображение для увеличения
Название: mplab1.jpg
Просмотров: 61
Размер:	46.7 Кб
ID:	12687   Нажмите на изображение для увеличения
Название: mplab2.jpg
Просмотров: 57
Размер:	62.2 Кб
ID:	12688  
Вложения:
Тип файла: rar test_mplab.rar (13.4 Кб, 55 просмотров)
Реклама:
__________________
Глаза боятся,а руки делают.

Последний раз редактировалось CERGEI1982; 21.09.2010 в 17:39. Причина: поправил
CERGEI1982 вне форума  
Непрочитано 21.09.2010, 18:10  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Подрихтовал . Это по быстрому .
Но надо почитать тебе в хелпе Multiple Compilation Units.
И если пользуешь дрова , так и хидеры и определения к ним просматривай...
Вложения:
Тип файла: rar test_mplab.rar (42.4 Кб, 54 просмотров)
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
CERGEI1982 (21.09.2010)
Непрочитано 22.09.2010, 03:38  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Переведено Промт-переводчиком:
Традиционно, CCS C Компилятор использует только одну единицу компиляции, и многократные файлы осуществлены, используя #INCLUDE. Используя многократные единицы компиляции, заботе нужно дать тот препроцессор команды, которые управляют компиляцией, совместимы через все единицы. Рекомендуется, чтобы директивы, такие как #FUSES, #USE, и заголовочный файл устройства были все помещены в единственный файл, включенный всеми единицами. Когда единица будет собрана, она произведет перемещаемый файл объекта (*.o) и файл символа (*.osym).
__________________
Глаза боятся,а руки делают.
CERGEI1982 вне форума  
Непрочитано 22.09.2010, 15:53  
Sanja_K
Прохожий
 
Регистрация: 16.08.2006
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
Sanja_K на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

В mplab ПРОВЕРЬ ВЫБОР КОНТРОЛЛЕРА
дАЛЕЕ МОЙ ПРИМЕР:
#include ‹drivers/18F452.h›
#use delay(clock=40000000)
#fuses /**/H4/*/HS/**/,PUT,BROWNOUT,BORV27,NOWDT, CCP2B3,NOLVP,NODEBUG
#include ‹include/Data.h›
void main(void) {
ADCON1 |= 0x0F;
PORTA = 0;
PORTB = 0;
PORTC = 0;
set_tris_A(0b00000000);
set_tris_B(0b00000000); // Настройка порта B in/out
set_tris_C(0b00011000);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_16);
PORTA = 0xFF;
delay_ms(10);
enable_interrupts(int_timer0);
/// enable_interrupts(INT_RDA);
enable_interrupts(global);
while(TRUE) {
delay_us(900);
TimeDS ();// моя функция
}
}
Sanja_K вне форума  
Непрочитано 26.09.2010, 01:22  
xDriver
Частый гость
 
Аватар для xDriver
 
Регистрация: 01.03.2008
Сообщений: 37
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
xDriver на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

CCS v4.110 и 4.111 имеют баги
__http://www.ccsinfo.com/forum/viewtopic.php?t=43333

v4.112 нет еще не у кого ?
xDriver вне форума  
Непрочитано 01.10.2010, 22:06  
ZoomerJuk
Временная регистрация
 
Регистрация: 12.09.2008
Сообщений: 61
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 5 сообщении(ях)
ZoomerJuk на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Ув. профи,бъясните, пожалуйста!
Осваиваю ccs, в свою программу вставляю код из программы написанной в среде HI-TECH:
Цитата:
void nokia_printmessage(const char* message)
// Write message to LCD (C string type)
{
while (*message) // Look for end of string
nokia_printchar(*message++); //
}
//______________
void nokia_printchar(byte c)
// Write 1 character to LCD
{
charsel=c;
table_to_nokialcd();
}
//_____________
при этом компилятор ругается на const char* message. я так понимаю проблема в том, что в ccs строковые переменные применяются по-другому? как в ccs представить вышеприведенный код?
ZoomerJuk вне форума  
Непрочитано 01.10.2010, 22:51  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

ZoomerJuk, В начало
Код:
#device CONST=ROM
И далее везде const меняем на ROM.
И читаем в хелпе Using Program Memory for Data
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
ZoomerJuk (03.10.2010)
Непрочитано 02.10.2010, 18:22  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Не знаю каширно или нет (пусть знатоки С поправят) , шарясь по форуму CCS, худо-бедно допер до такого решения :
Asm вставки для дебага.

PHP код:
#include ‹16F887.h›
#device *=16
#device CONST=ROM

#fuses INTRC_IO,NOWDT,  NOPROTECT, NOBROWNOUT, NOCPD
#use delay(clock=4000000)

//-------------------------------
ROM char init_0[20] =
           {
0xEF0x000xEE0x040x1B0x040xFE0xFE,
0xFE0xFE0xEF0x900x4A0x040x7F0x3F
0xEE0x040x430x06};
           
ROM   char  init_1[46]  =
                      {
0xEF0x900x090x830x080x000x0B0xAF,
0x0A0x000x050x000x060x000x070x00
0xEF0x000xEE0x0C0xEF0x900x000x80
0xEF0xB00x490x020xEF0x000x7F0x01,
0xE10x810xE20x020xE20x760xE10x83,
0x800x010xEF0x900x000x00};
 
ROM char string1[]={"Hello word"};
ROM char string2[]={"Здравствуй мир"};

ROM char *ptr;
//-----------------------------------
char bufer[50];
void lcd_str(int16 i,ROM char *data)
{
 
char temp;
 
temp=0;
while (
i--)
     {
      
temp = *data++;
     
     }
}

void main(void)
{
 
int8 i=0;
 
ptrinit_0;
 
#asm
 
NOP
 
#endasm
 
for(i;isizeof init_0;i++){
     
bufer[i]=*ptr++;
     }
     
ptr=string1;
     
i=0;
 
#asm
 
NOP
 
#endasm
for(i;isizeof string1;i++){
     
bufer[i]=*ptr++;
     }    
     
 
#asm
 
NOP
 
#endasm      
lcd_str(sizeof init_0,init_0);

ptrinit_0;
 
#asm
 
NOP
 
#endasm        
   
while(1)
   {
   }

Вложения:
Тип файла: rar lcd_887_test_pointer.rar (18.7 Кб, 55 просмотров)
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 02.10.2010 в 18:26.
dosikus вне форума  
Непрочитано 02.10.2010, 22:08  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

хз насчет кошерности..

А просто по рабоче-крестьянски, нельзя ?

ROM char string1[]={"Hello word"};
ROM char string2[]={"Здравствуй мир"};

ROM char *ptr;
//-----------------------------------
char bufer[50];
void cp_str(ROM char *data, char *ram )
{
ram= bufer;
do{
*ram++ = *data++;
}while(data);
}
__________________
warez
urry вне форума  
Непрочитано 02.10.2010, 22:48  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

urry, счас потестим .
Я почему и спрашивал , у CCS постоянные за...ы с к указателями на ROM . Из версии к
версии все чудеснее и чудеснее...

Лается -
Цитата:
Improper use of a function identifier

PHP код:
void cp_str(ROM char *datachar *ram )
{
do{
*
ram++ = *data++;
}while(
data);

void main(){
cp_str(string1,bufer);    
#asm
NOP
#endasm

__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 02.10.2010 в 23:03.
dosikus вне форума  
 

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

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

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


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