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

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

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

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

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

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


 
Опции темы
Непрочитано 05.03.2017, 22:30  
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)

Давно не заходил на страницу http://www.ccsinfo.com (НЕ РЕКЛАМА).
Заглянул и увидел, что я там забанен. Но ведь я там даже не регистрировался! ПРосто любопытства ради поглядывал туда от силы раз в месяц. Странно.
Применил к ним вот это ----- http://cameleo.xyz/.
Помогло!
Реклама:

Последний раз редактировалось welcome61; 05.03.2017 в 22:42.
welcome61 вне форума  
Непрочитано 21.03.2017, 21:08  
wolfeldt
Частый гость
 
Регистрация: 11.10.2015
Сообщений: 40
Сказал спасибо: 12
Сказали Спасибо 169 раз(а) в 27 сообщении(ях)
wolfeldt на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

5.070
https://cloud.mail.ru/public/3nDQ/kF42Vp4NS
wolfeldt вне форума  
Эти 5 пользователя(ей) сказали Спасибо wolfeldt за это сообщение:
bolek4321 (22.03.2017), demanik (22.03.2017), kgg_ussr (22.03.2017), vlad_ru (21.03.2017), welcome61 (22.03.2017)
Непрочитано 14.05.2017, 23:09  
wolfeldt
Частый гость
 
Регистрация: 11.10.2015
Сообщений: 40
Сказал спасибо: 12
Сказали Спасибо 169 раз(а) в 27 сообщении(ях)
wolfeldt на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

5_071
https://cloud.mail.ru/public/E66Q/bFqeEgTLM
wolfeldt вне форума  
Эти 4 пользователя(ей) сказали Спасибо wolfeldt за это сообщение:
bolek4321 (15.05.2017), Sergey_57 (14.06.2017), vlad_ru (15.05.2017), welcome61 (15.05.2017)
Непрочитано 25.06.2017, 17:31  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Столкнулся с проблемкой: хотел дописать старый проект. Компилятор CCS5.071. Протеус почему-то не понимает определения типов #bit (обнаруживается при пошаговой отладке в окне Variables) , программа компилируется правильно, но при отладке в протеусе выдаёт:

в CCS всё вроде в порядке, при компиляции не ругается

В чём может быть дело?
Миниатюры:
Нажмите на изображение для увеличения
Название: CCS.png
Просмотров: 0
Размер:	4.9 Кб
ID:	115798   Нажмите на изображение для увеличения
Название: Протеус.png
Просмотров: 0
Размер:	3.1 Кб
ID:	115799  

Последний раз редактировалось Prototup; 25.06.2017 в 17:53.
Prototup вне форума  
Непрочитано 26.06.2017, 14:16  
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)

Замените #byte на #Word
Пример:
#word INTCON = 0xFF2
#bit TOIF = INTCON.2
#word PIR1 = 0xF9E
#bit TMR1IF = PIR1.0
welcome61 вне форума  
Непрочитано 02.07.2017, 16:56  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Спасибки welcome61!, обошёлся без переопределений, странно что раньше прокатывало, видно что-то в компиле изменилось к худшему.
Вот другая проблемка: адаптировал "под себя" экземпл RS232, из этого-же компилятора. Не могу понять почему нарушено форматирование, знакоместа однако на месте....
Программка:
прим: все аргументы #include , есс-но в треугольных скобках, на форуме, при их установке, всё что внутри их, странным образом пропадает!

#include ‹18F46K22.h›
#include stdio.h
#include stdlib.h
#include math.h
#FUSES NOWDT //No Watch Dog Timer
#FUSES NOPUT //No Power Up Timer
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage progming
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading

#use delay(crystal=4000000)
#define USE_TX_ISR
#use rs232(UART1, BAUD=9600,RECEIVE_BUFFER=32,TRANSMIT_BUFFER=32,TXI SR, xmit=PIN_C6,rcv=PIN_C7 )
#use standard_io (A,B,C,D,E)

void main()
{
char c;

printf("\r\nEX_RS232_BUFFER.c\r\n\n");

enable_interrupts(GLOBAL);

while(TRUE)
{

USE_TX_ISR


if(kbhit())// keyboard
{
c = getc();
putc(c);

if(c == '\r')
putc('\n');
else if(c == '\b')
{
putc(' ');
putc(c);
}
}
// User Code

}

}
Програмка пока не дописана, это только фрагмент.
Вот что получается при попытке ввести любой символ с клавиатуры, раскладка не сильно влияет, только одни кроказябры...
Миниатюры:
Нажмите на изображение для увеличения
Название: Монитор.png
Просмотров: 0
Размер:	1.0 Кб
ID:	116010   Нажмите на изображение для увеличения
Название: Попытка ввести.png
Просмотров: 0
Размер:	1.1 Кб
ID:	116011   Нажмите на изображение для увеличения
Название: или вот.png
Просмотров: 0
Размер:	1.3 Кб
ID:	116012  

Нажмите на изображение для увеличения
Название: Экран.png
Просмотров: 0
Размер:	39.1 Кб
ID:	116013  

Последний раз редактировалось Prototup; 02.07.2017 в 17:30.
Prototup вне форума  
Непрочитано 03.07.2017, 22:57  
MisterDi
Почётный гражданин KAZUS.RU
 
Аватар для MisterDi
 
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
MisterDi на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Очень похоже на несогласование скоростей приема и передачи. Проверьте настройки виртуального терминала. Кстати, тестовое сообщение из начала программы в терминале видно?
__________________
misterdi<@>i.ua
MisterDi вне форума  
Непрочитано 03.07.2017, 23:55  
Prototup
Прописка
 
Аватар для Prototup
 
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
Prototup на пути к лучшему
По умолчанию Re: Изучение PIC C Compiler(CCS C)

Всем доброго времени суток, тем кто не спит, в.ч. и тебе MisterDi, всё оказалось на много проще: кривизна рук и не согласованность по скоростям ни причём! Этот мерзкий кусочек кода перестал запускаться, в исходном виде, вообще на следующий день!
Сообщение от MisterDi Посмотреть сообщение
Кстати, тестовое сообщение из начала программы в терминале видно?
И ничего там видно не было, знакоместа совпадали - остальное полный бред.

Я себе долго посыпал бы голову пеплом, но меня мучили смутные сомнения по поводу симулятора и как оказалось не напрасно! У себя на ноуте я не успел обновить Протеус до последней версии, остался 8.1 SP1. И произошло чудо, всё заработало!!!https://kazus.ru/forums/attachment.p...1&d=1499113037
И какой из всего этого надо сделать вывод?
Миниатюры:
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 0
Размер:	33.2 Кб
ID:	116055  

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

Всё пошло! Работает как надо! Proteus 8.6SP2, компилятор 5_071.
По следующей схеме, правда частоту кварца я уменьшил до 1мГц, но и на 10мГц работает так-же, главное соблюсти условие #use delay(clock = 1000000) и setup_oscillator(OSC_1MHZ); но и это ещё не всё, короче различия в варианте выше - существенные. Вот полностью рабочий вариант с буферизацией (объём буфера можно поставить "по-вкусу", скобки ‹› в #include ставить не забывайте воообщем мож кому и сгодится по первости :
//Приём и передача принятых символов на терминал по RS232//
#include ‹18F46K22.h›
#include ‹stdio.h›
#include ‹stdlib.h›
#include ‹math.h›
#include ‹string.h›
#FUSES NOWDT //No Watch Dog Timer
#FUSES NOPUT //No Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage progming
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#define USE_TX_ISR
#fuses NOMCLR INTRC_IO// используется компилятором совмесно с #use delay для допустимой частоты
#use delay(clock = 1000000)// и компилятор сделает её корректной автоматически
//Настройки порта с буффером обмена на приём и передачу 16 Bit//
#use rs232(UART1, BAUD=9600, TXISR, RECEIVE_BUFFER=32, TRANSMIT_BUFFER=32, xmit=PIN_C6,rcv=PIN_C7 )
#use standard_io (A,B,C,D,E)//функции ввода-вывода сами управляют TRIS

void main()
{
setup_oscillator(OSC_1MHZ); // Установливает внутренний осциллятор в 1 МГц,
//для корректной установки скорости обмена
// Опции варьируются в зависимости от микросхемы и перечислены в заголовочных файлах устройства.
int8 c;

printf("\r\nEX_RS232_BUFFER.c\r\n\n");

enable_interrupts(GLOBAL);//разрешение глобального прерывания

while(TRUE)
{

USE_TX_ISR


if(kbhit())// эта функция возвращает TRUE,
//если символ был получен и ожидает в аппаратном буфере getc ()
{
c = getc();//приём одного байта
putc(c);//Эта функция отправляет символ по контакту RS232 XMIT.

if(c == '\r')// если возврат каретки т.е новая строка
putc('\n');//то перевод строки
else if(c == '\b')//или если возврат на шаг
{
putc(' ');//то пустой символ
putc(c);
}
}
// User Code


}
}
https://kazus.ru/forums/attachment.p...1&d=1499277946
Миниатюры:
Нажмите на изображение для увеличения
Название: Монитор.PNG
Просмотров: 0
Размер:	1.9 Кб
ID:	116089  

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

Чё-то я зациклился и вот по какому поводу: есть два проца, которые дружат между собой по USART асинхронно (RS232), один другому передаёт 3 переменные (для теста):
Кусок кода передатчика
........//.......//........//...
#use rs232(UART1, BAUD=9600, TXISR, RECEIVE_BUFFER=15, TRANSMIT_BUFFER=15, xmit=PIN_C6,rcv=PIN_C7 )
#use standard_io (A,B,C,D,E)//функции ввода-вывода сами управляют TRIS

void main()
{
setup_oscillator(OSC_32MHZ); // Установливает внутренний осциллятор в 32MHZ МГц,
//для корректной установки скорости обмена
// Опции варьируются в зависимости от микросхемы и перечислены в заголовочных файлах устройства.
unsigned int16 Numbe_Pulse; //число импульсов
unsigned int16 Duty;
unsigned int16 Cycle;
enable_interrupts(GLOBAL);//разрешение глобального прерывания

while(TRUE)
{
Numbe_Pulse=1259;
Duty=1100;
Cycle=1128;

if(tx_buffer_available()›1)// все еще быть помещены в буфер //
//передачи, прежде чем он переполнится.
{
USE_TX_ISR
printf("%Lu%Lu%Lu", Numbe_Pulse,Duty,Cycle);
delay_ms(1000);
}
}
}
другой принимает и видимо успешно, на терминале видно и в симуляции что в буфере висят данные:https://kazus.ru/forums/images/attach/png.gif
https://kazus.ru/forums/attachment.p...1&d=1499614696

Кусок кода приёмника:
#use rs232(UART1, BAUD=9600, TXISR, RECEIVE_BUFFER=12, TRANSMIT_BUFFER=1, xmit=PIN_C6,rcv=PIN_C7 )
#use standard_io (A,B,C,D,E)//функции ввода-вывода сами управляют TRIS

void main()
{
setup_oscillator(OSC_32MHZ); // Устанавливает внутренний осциллятор в 32MHZ МГц,
//для корректной установки скорости обмена
// Опции варьируются в зависимости от микросхемы и перечислены в
//заголовочных файлах устройства.
unsigned int16 Numbe_Pulse; //число импульсов
unsigned int16 Duty;
unsigned int16 Cycle;
enable_interrupts(GLOBAL);//разрешение глобального прерывания

while(TRUE)
{
Numbe_Pulse=1259;
Duty=1100;
Cycle=1128;

if(tx_buffer_available()›1)// все еще быть помещены в буфер передачи, прежде чем он переполнится.
{
USE_TX_ISR
printf("%Lu%Lu%Lu", Numbe_Pulse,Duty,Cycle);
delay_ms(1000);
}
}
}

Вот и вопрос: почему данные с буфера не записываются в переменные и как их туда записать? Простейший случай, ну никак не могу решить этот кроссворд!
Вот проект полностью: схемка в Proteus и прошивочки...Проба_RS232.zip
Миниатюры:
Нажмите на изображение для увеличения
Название: регистры.PNG
Просмотров: 0
Размер:	32.1 Кб
ID:	116203   Нажмите на изображение для увеличения
Название: Терминал.PNG
Просмотров: 0
Размер:	1.4 Кб
ID:	116204  

Последний раз редактировалось Prototup; 09.07.2017 в 20:06.
Prototup вне форума  
 

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

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

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


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