10.08.2020, 12:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,608
Сказал спасибо: 5,437
Сказали Спасибо 24,932 раз(а) в 5,596 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
А тут как с супом: кому нравится с гренками, а кому с водочкой..
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/
моя домашняя страничка: http://www.eddy.com.ua/
|
|
|
|
10.08.2020, 12:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
CCS - среда разработки, включающая в себя кроме компилятора достаточно большой набор стандартных библиотек, средств получения бинарного кода и записи кода на кристалл, объединенных общей оболочкой.
GCC for Microchip - только компилятор работающий из командной строки, это не всем нравится. Плюс make, link и другие утилиты которые нужно знать.
Принципиальных отличий в качестве кода нет, оба инструмента справляются с поставленными задачами.
__________________
misterdi<@>i.ua
|
|
|
|
11.08.2020, 17:02
|
|
Частый гость
Регистрация: 25.10.2006
Сообщений: 16
Сказал спасибо: 0
Сказали Спасибо 61 раз(а) в 13 сообщении(ях)
|
Попробуй вот так. Должно работать.
#include ‹18F46K22.h›
#include ‹stdio.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
#FUSES NOCPD //No EE protection
#FUSES NOPROTECT //Code not protected from reading
#use delay(crystal=20MHz)
#use spi(MASTER, SPI1,baud=1000000, mode=1, FORCE_HW, BITS=
void main()
{
unsigned int i; // ñ÷¸ò÷èê öèêëà
while(TRUE)
{
/*************îòïðàâêà óïðàâëÿþùåãî ñëîâà*************/
for (i=0; i‹5; i++)
{
spi_write (100); // âûâåñòè 5 ðàç ïðîñòî ýòî ÷èñëî
}
Испортился конец строки
#use spi( MASTER, SPI1,baud=1000000, mode=1, FORCE_HW, BITS = 8 )
Последний раз редактировалось mike-y-k; 19.09.2022 в 02:01.
Причина: 6.6
|
|
|
|
12.08.2020, 00:56
|
|
Прописка
Регистрация: 07.05.2008
Адрес: Москва
Сообщений: 231
Сказал спасибо: 26
Сказали Спасибо 54 раз(а) в 19 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Я сам дурак всё работает по такой схеме:
//#define SPI_DO PIN_C4 // эти строки можно заремить, т.к. они являются предопределёнными
//#define SPI_DI PIN_C5// и только вносят неразбериху
//#define SPI_CLK PIN_C3
void main()
{
setup_spi(SPI_MASTER | SPI_CLK_DIV_4 | SPI_L_TO_H | SPI_XMIT_L_TO_H);//аппаратная реализация MSSP
unsigned char i; // счетчик
while(TRUE)
{
/*************Отправка управляющего слова *************/
output_low (FQ_UD);
output_high (FQ_UD);
for (i=0; i‹5; i++)
{
spi_write (100); // вывести это число 5 раз
}
output_low (FQ_UD);
output_high (FQ_UD);
}
}
Почитал на просторах интернета, подковался!
На оф.сате CCS, в вопросах и ответах сказано:
#use spi - это для программной эмуляции обмена по SPI, с произвольными ногами микроконтроллера. Для задействования аппаратной части MSSP микроконтроллера, по обмену SPI (в частности), надо использовать функцию setup_spi, только с соответствующими ногами.
Ну вот в принципе и всё... Всем откликнувшимся бооольшооое спасибо!
Здоровья и правильной, не усугубляя, профилактики инфекций!
Последний раз редактировалось Prototup; 12.08.2020 в 01:32.
|
|
|
Сказали "Спасибо" Prototup
|
|
|
06.09.2020, 21:23
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Добрый вечер всем. Может у кого есть библиотека lcd без использования сигнала r/w? Заранее благодарен
|
|
|
|
07.09.2020, 08:42
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.02.2008
Адрес: Ukraine, рядом с Полтавой
Сообщений: 9,608
Сказал спасибо: 5,437
Сказали Спасибо 24,932 раз(а) в 5,596 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Лежит на форуме производителя в открытом доступе:
http://www.ccsinfo.com/forum/viewtopic.php?t=24661
__________________
«Совершенство — это не тогда, когда уже нечего больше добавить, а тогда, когда уже нечего отнять.»
/Эйнштейн/
моя домашняя страничка: http://www.eddy.com.ua/
|
|
|
|
07.09.2020, 09:35
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
спасибо за ответ. вчера вечером проэмулировал в протеусе без R/W с родной библиотекой работает. Но вылезла проблема следующего характера. В железе не работает. это устройство рабочее, дисплей с прошитой сторонней программой работал, так что дисплей рабочий. сигналы управления проверил через МПЛАБ путем дергания каждого сигнала в отдельности. Начал дальше копать и обнаружил что стоит на дисплее ST7066. порылся в инете и как я понял есть приколы с инициализацией. скачал даташит глянул какие посылки - сравнил со своими вроде бъется. Единственное насчет временных задержек - насколько чувствителен к их увеличению?
Может кто подскажет еще что может быть за приколы с инициализацией этого дисплея.
|
|
|
|
13.09.2020, 15:25
|
|
Прохожий
Регистрация: 20.01.2007
Сообщений: 5
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
Здрасте всем.
Возникла необходимость вывести русские слова на LCD2004.
Может кто поделится листингом программы для изучения?
Спасибо
|
|
|
|
13.09.2020, 16:03
|
|
Почётный гражданин 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)
|
|
|
|
14.09.2020, 09:32
|
|
Прописка
Регистрация: 14.10.2006
Адрес: Ростов-на-Дону
Сообщений: 113
Сказал спасибо: 14
Сказали Спасибо 32 раз(а) в 21 сообщении(ях)
|
Re: Изучение PIC C Compiler(CCS C)
У таких индикаторов традиционно нештатная кодовая таблица в области национальных символов, поэтому требуется перекодировать исходные коды символов в коды индикатора:
Код:
|
void lcd_putc( char c) {
const char Decode2Rus[255-192+1]= {
0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
0xA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8,
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB,
0xAC,0xE2,0xAD,0xAE,0xAD,0xAF,0xB0,0xB1,
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7,
0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0,
0xC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7 };
switch (c) {
case '\f' : lcd_send_byte(0,1);
delay_ms(2);
break;
case '\n' : lcd_gotoxy(1,2); break;
case '\b' : lcd_send_byte(0,0x10); break;
case 0xFF : lcd_send_byte(1,0xFF); break;
default : {if (c›=192) c=Decode2Rus[c-192];
lcd_send_byte(1,c);}break;
}
} |
|
|
|
Эти 3 пользователя(ей) сказали Спасибо varostov за это сообщение:
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:39.
|
|