
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
PIC контроллеры. Программаторы и первый проект на PIC
|
||
| Программирование микроконтролеров,ремонт аудио/видео/бытовой техники,полезные устройства для дома,телефония, обсуждение статей журнала Радио |
![]() |
|
|
Опции темы |
|
|
#842 |
|
Форумец
|
По MikroC на русском ничего не видел, кроме перевода help к 6-й версии. В Вашем возрасте проблем с техническим английским не должно возникать.
Насчет кода - в строке компилятора может быть много буков, а вот в строка ЖКИ вмещает только 16 символов, не надо пытаться засунуть в строку ЖКИ больше, чем она вмещает, такой фокус не прокатит. Делите строки на куски, считайте символы, но больше 16-ти символов в ЖКИ не выводите. |
|
|
|
|
#843 |
|
Форумец
Сообщений: 13
Регистрация: 31.05.2011
Возраст: 35
|
Попробывал сделать в строке не более 16-ти символов выдает ту же ошибку опять таки если много писать текста даже соблюдая количество символов в строке, понятно что PIC не печатная машинка, есть ли какие-то ограничения на счет этого дела и еще хотел узнать на счет количества символов ведь не для кого не секрет что есть и другие виды ЖКИ не только 16/2 можно ли в MicroC как-то выбирать их разрядность в своих примерах я пробывал ставить разные строки к примеру с 1-ю по 8-ю и в симуляторе все вышло другое дело количество знакомест в строке, пробывал писать до 40-а символов так как есть такие индикаторы (видел у себя на работе), небольшой текст выводит на любое из этих 40-ка мест но добавить побольше текста опять выдает ошибку что не хватает RAM но в статистике видно что ее предостаточно.
|
|
|
|
|
#845 |
|
Форумец
|
|
|
|
|
|
#852 | |
|
Форумец
|
Цитата:
Никаких драйверов писать не надо. Писать надо будет не драйвер, а программу для ПК. Под CDC Microchip предлагает свой готовый драйвер. Под HID драйверы по определению не нужны, именно поэтому MikroE принципиально отказались от CDC. Минимальную схему подключения можно посмотреть в help MikroC. |
|
|
|
|
|
#853 |
|
Форумец
Сообщений: 82
Регистрация: 13.09.2010
|
Здраствуйте Петр.Спасибо.
Хочу попробовать сделать тот же самый пример термометра на hid. код термометра есть в постах выше которую рассматривали вместе с вами. Как передать данные и в каком формате это происходит. Что такое VID?PID и.т.д? как его записать в контроллер. Есть программа HID descriptor для чего нужна она.в микро с есть hid terminal протестировать в нем можно наверное без программы? Как я понимаю нужно пику присвоить VID и PID.Затем по нему отлавить наше устройство в PC и примать или отправлять данные(соответственно в прошивке контроллера указать прием и передачу). Последний раз редактировалось Азат; 06.09.2011 в 14:06. |
|
|
|
|
#854 |
|
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 59
|
Добрый день коллеги! А кто нибудь подскажет- можно ли в симуляторе микроси имитировать работу аналоговых компараторов и вообще имитировать аналоговый сигнал ...
А то что то с протеусом сплошные косяки получаются |
|
|
|
|
#855 |
|
Форумец
|
|
|
|
|
|
#856 |
|
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 59
|
А кстати.. Вот если вернуться так сказать к истокам то в примере с использованием модуля ШИМ есть небольшая недоработка - там при нажатии кнопки больше или меньше контроллер не останавливается в максимальном или минимальном пределе- а проскакивает его и начинает новый цикл с минимума.. Это неплохо для общего понимания теории регулирования скважности, но на практике это мало применимо..
Вот исправил и доработал код- здесь начальное значение задано нулевым...И при нажатии кнопки больше происходит плавное нарастание до максимума с дискретностью 10% .. И с остановом в конечной точке. То же и при уменьшении. Код:
unsigned short j, old_j;
void Init() {
CMCON=7; // все входы цифровые, компараторы отключены
PORTB = 0; // установили PORTB в 0
TRISB = 0; // настроили PORTB на выход
PORTA = 0xff; // установили PORTA в 1
TRISA = 0xff; // настроили PORTA на вход
Pwm_Init(5000); // настроили ШИМ модуль, период ШИМ - 5 кГц
}//
void main() {
Init();
j = 0; // начальная инициализация j
old_j = 0; // начальная инициализация old_j
Pwm_Start(); // запуск ШИМ
while (1) { // устроили бесконечный цикл
if (Button(&PORTA, 0,1,0)){ // нажимаем кнопку на RA0
if(J<=245) j +=10;
else j = 255;} // увеличивается j (яркость больше)
if (Button(&PORTA, 1,1,0)){ // нажимаем кнопку на RA1
if (j>= 10) J -=10;
else j = 0;} // уменьшается j (яркость меньше)
if (old_j != j) { // если было изменение j
Pwm_Change_Duty(j); // то изменяем параметры ШИМ
old_j = j; // и сохраняем новое значение
}
Delay_ms(200); // задержка 200 мсек
}
}//~
|
|
|
|
|
#858 |
|
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 59
|
Вопрос с ошибкой практически снят.. но если честн все равно не фига не понятно... Короче дело так было. Надо было мне один индикатор так сказать пощупать программно. Но я раньше с индикаторами не очень дело имел. Ну короче в папке где у меня проекты с пиками в микроси создал еще папку- назвал ее LCD Ну написал прогу - нажимаю Build Project - на тебе! Ошибка! Смотрел смотрел.. лазил везде- ну вроде все нормально! А все равно светит Routine Lcd_Init not defined!!!!! Ну думаю- полезу в буквари! Открыл хелп русский по микросе - там пример с индикатором- ну короче свой текст проги стер- ввел буква в букву как в хелпе- все равно не пашет!!!! Что за хрень думаю.. У меня в другой папке есть проект терморегулятора- ну наподобие как тут на форуме обсуждали- захожу туда- убираю текст проги терморегулятора- ввожу текст из хелпа- все компилируется!!!! Тут у меня уже что то стало доходить что дело не в проге. Ну чтоб долго не распространятся короче стер я эту папку LCD- создал другую под другим именем- и все заработало!!!! Во как бывает!!!!
Хотя все равно не ясно в чем тут фокус и глюк- то ли компилятора, то ли винды то ли мозгов
|
|
|
|
|
#859 |
|
Форумец
|
Скорее всего проблема в путях к файлам.
Обычно делаю так: 1. Создаю новую папку в папке с проектами (использую только латиницу и никаких пробелов в названиях). 2. Создаю новый проект через (Project -> New Project), компилирую чистый проект. 3. Через Project Manager удаляю ненужные файлы, через него же подключаю нужные. 4. Если что-то переношу в папку проекта и что-то не компилируется, то смотрю пути - Project -> Edit Search Path, если тут что не так исправляю. 5. Если что-то не работает из стандартных библиотек смотрю в Library Manager, подключена ли нужная библиотека. Стандартный набор, проблем не возникает. |
|
|
|
|
#861 |
|
Форумец
|
|
|
|
|
|
#862 |
|
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 59
|
А в чем разница? Непонятно...
.. Если мне надо чтобы вывести целое слово но по одной буквекод типа выводит вообще абракадабру какую то Код:
char *text = "mikro";
void main() {
CMCON = 7;
TRISA=0xff;
Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0);
do{
Lcd_Cmd(Lcd_CURSOR_OFF);
Lcd_Chr(1, 1,"m" );
Lcd_Chr(1, 2,"i" );
Lcd_Chr(1, 3,"k" );
Lcd_Chr(1, 4,"r" );
Lcd_Chr(1, 5,"o" );
}while(1) ;
}
|
|
|
|
|
#863 |
|
Форумец
Сообщений: 36
Регистрация: 19.10.2010
Возраст: 59
|
Код:
char *text = "mikro";
void main() {
CMCON = 7;
TRISA=0xff;
Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0);
do{
Lcd_Cmd(LCD_CURSOR_OFF);
Lcd_Out(1,1,"m" );
Delay_ms(500);
Lcd_Out(1,2 ,"i" );
Delay_ms(500);
Lcd_Out(1,3 ,"k" );
Delay_ms(500);
Lcd_Out(1,4 ,"r" );
Delay_ms(500);
Lcd_Out(1,5 ,"o" );
Delay_ms(500);
}while(1) ;
}
|
|
|
|
|
#864 | |
|
Форумец
|
Цитата:
Код:
Lcd_Chr(1, 1,'m' );
Lcd_Chr_Cp('i');
Lcd_Chr_Cp('k);
Lcd_Chr_Cp('r');
Lcd_Chr_Cp('o');
|
|
|
|
|
|
#866 |
|
Форумец
|
В том числе и пустую. Например, команда очистки экрана занимает больше времени, чем вывод двух пустых строк. Другой пример, надо иметь строку со значением тока: "ТОК:______А". Один раз выводим эту строку, а потом периодически в пустые места вставляем нужное значение и т.д.
Последний раз редактировалось petrd; 22.09.2011 в 19:42. |
|
|
|
|
#867 |
|
Форумец
Сообщений: 82
Регистрация: 13.09.2010
|
Уважаемый petrd, подскажите пожалуйста можно ли icprog прошить 18f2550 выбрав 18f4550.Подскажите пожалуйста как выставить фьюзы для 18f2550 без кварца mclr подтянул через резистор, на RA1 подключил датчик DS1820.RC5 RC4 USB.
Последний раз редактировалось Азат; 29.09.2011 в 10:07. |
|
|
|
|
#869 |
|
Форумец
Сообщений: 9
Регистрация: 29.10.2011
Возраст: 52
|
хотел узнать
Добрый день всем форумчанам. У меня есть дача, есть тепличка и в один прекрасный момент я понял что бегать с лейками по грядкам - дело мало увлекательное и решил сделать систему полива. ну а дальше пошло поехало. все мои идеи и решения в металле постоянно спотыкаются об отсутствие простейшей автоматики управления чего либо или чем либо. стал искать готовые решения на основе электроники - увы то что я хочу там такого нет а то что они предлагают - мне не нужно. мастерить аналоговые схемы не хочу - особенно там где вода - обязательно что то закиснет окислиться и просто не сработает. вот по этому стал рыться в инете. и еще я понял одно, что мне уже не интересно с 40 лет самому что то придумывать паять - уже хочеться получать готовый продукт. по этому хочу вам предложить такой вариант сотрудничества. у меня уже стоит очередь на постройку 4 теплиц. для каждой теплицы нужен свой режим работы автоматики (хотя набор исходников одинаковый только ответы на на них должны быть разные). вы по моим хочу делаете "мозги" а я их монтирую. вообще я так думаю что будет 3-5 типовых решений с возможностью регулировки уже внутри этих решений.
в идеале вообще хотелось получать все в комплетке - и датчики и двигатели и пр. в будущем эта тема будет только развиваться и спрос будет расти (при условии приемлемой цены). если кому интересно мое предложение - давайте дружить и вместе зарабатывать деньги. ну а если консенсуса не найду - буду мучать вас вопросами как програмировать))) |
|
|
|
|
#870 | |
|
Форумец
Сообщений: 7
Регистрация: 02.09.2011
|
Цитата:
У меня стояло 2 соединенные внизу шлангом. Подача воды через клапан от унитаза. Полив капельными шлангами. Открывание фрамуг для вентиляции с помощью раздвигающихся от расширения штанг. Есть умельцы, которые проветривают теплицу с помощью пневмогидравлического термосифона из двух банок или полиэтиленовых емкостей на 1 и3-5 литров. И никакого программирования. Последний раз редактировалось AVladM; 29.10.2011 в 14:10. Причина: дополнение |
|
|
|