Отправлено: 24.12.15 18:47. Заголовок: Помощь с программированием в MPLAB IDE!
Добрый день. Я участвую в соревнованиях по роботраффику (сборка и программирование машинок, что бы по линии ездили). И так получилось что мой преподаватель ушел из школы, ну успев до конца научить меня работать с MPLAB. Подскажите пожалуйста, какие нибудь форумы посвященные этому, или уроки... Не знаю даже откуда взять необходимые библиотеки...
Отправлено: 09.02.16 21:20. Заголовок: Посмотрел что такое ..
Посмотрел что такое Роботраффик – в общем, интересно. Жаль вопрошающий пропал... либо удалось разобраться, либо, подозреваю, опираясь на некоторый свой опыт, что не понимает как точно сформулировать вопрос (или их слишком много)... Молодой(ая) человек (человекА) , если соревнования российские, то время ещё есть, если тАмошние, то лучше постараться сформулировать вопросы. И спросить (если ещё не пропала надобность). К сожалению, я не смогу Вам помочь в эти сроки -- не приходилось работать с MPLab и PIC-ами. Судя по вопросам, у Вас всё есть – машинка, софт, программатор и даже программа. Так что не получается?! Никто не сможет Вам помочь, пока не поймёт в чём дело – люди должны "увидеть" всЁ Вашими глазами, но опираясь только на Ваши слова. Правильно сформулированный вопрос – это уже почти половина ответа!
Отправлено: 12.02.16 09:53. Заголовок: Приношу свои извинен..
Приношу свои извинения, за то что так на долго оставил тему. "Прохожий", вы совершенно правы, вопросов навалом, и сформулировать их не легко. Прежде чем описать основные трудности возникшие при работе с MPLAB'ом, расскажу немного про машинку и железо: Контроллер, разработанный и предоставленный Израильским институтом Технион, базируется на микроконтроллере- dsPIC30f4011. Среда разработки (рекомендована разработчиками из Техниона)- MPLAB IDE. Программатор (рекомендован ими же)- С30. Компилятор- PICit 2. Так же присутствует basecod (болванка) который Технион присылает после покупки машины. Там нет кода по управлению ездой машины, только необходимый код для работы платы. "Внутренности" машинки на фото: http://shot.qip.ru/00PG4B-456TNY8AJ/ Теперь про основные проблемы с которыми пришлось столкнуться: 1 Решил разобраться, как работает MPLAB, попытаться написать свой код и тд, поэтому поставил MPLAB на другой комп. Поставил ту же версию, что и на старом. Запустил. Создаю новый проект. На том шаге когда надо выбирать программатор, MPLAB отображает рядом с C30 жирный красный крест, а в ошибке говорит, что не может найти путь к нему. Я залезаю на microchip, скачиваю С30, ставлю куда он сам предлагает. Результат тот же. Иду еще раз на Microchip. Посмотрел как решить эту проблему. Сделал все как сказано, результат выдал положительный- должно работать. Но Mplab все равно не видит. 2 Для того что бы понять, как работает машинка, надо понимать что написано в болванке. А того что я там понимаю, катастрофически мало. Если кто что подскажет - буду благодарен. (болванку отправлю ответом к этому посту) 3 Одна из самых важный причин почему решил поставить MPLAB на новый комп, тесно связана с теми самыми библиотеками(header files (.h)), про которые писал в первый раз. Их вы сможете увидеть в болванке( если есть какая нибудь информация именно про отдельную библиотеку, типа за что отвечает и тд, будьте добры, напишите.). Так вот, в код подключены эти библиотеки. Код работает , машина ездит. Но когда захожу в дерево проекта, в папке header files, где они все указаны, почти рядом со всеми, в скобочках написано (not found)! При этом повторюсь машинка нормально ездит. Вот из за чего спрашивал где их найти.
Отправлено: 12.02.16 09:57. Заголовок: P.S. К предыдущему. ..
P.S. К предыдущему. В коде есть место, где надо прописать, сто плате выводить на COM-порт. Если кто знает как правильно прописать , что бы машина вывела в терминал, то что нужно, обучите пожалуйста. А вот и болванка: #include<p30f4011.h> #include<stdio.h> #include<math.h> #include<float.h> #include"libpic30.h" #include "user_defi.h"
_FOSC(CSW_FSCM_OFF & XT_PLL8); _FWDT(WDT_OFF);
unsigned char flag = 0x00, i = 0, init = 1, f = 1, traffic_data, y = 1;
unsigned int ch = 0, w = 0, pwm = 0x0200, test = 0xd356, temp, flag1;
float sl3, /* AN0, stripe sensor -> left 3 */ sl2, /* AN1, stripe sensor -> left 2 */ sl1, /* AN2, stripe sensor -> left 1 */ sc, /* AN3, stripe sensor -> centre black stip on/off */ sr1, /* AN4, stripe sensor -> right 1 */ sr2, /* AN5, stripe sensor -> right 2 */ sr3, /* AN6, stripe sensor -> right 3 */ ss, /* AN7, stripe sensor -> stop */ /* */ fl, /* AN8, left front distance sensor */ fr, /* AN9, right front distance sensor */ rl, /* AN10, left rear distance sensor */ rr; /* AN11, right rear distance sensor */
SRbits.IPL = 1; /* CPU Interrupt Priority Level Status bits, 100 = CPU interrupt priority level is 4 (12) */ CORCONbits.IPL3 = 1; /* CPU interrupt priority level is 7 or less */
INTCON1 = 0x0000; INTCON2 = 0x0000;
/* init TMR1 */
TMR1 = 0x0000; /* Timer1 register for the Timer0 module */ PR1 = 0x30; /* Period register for the Timer1 module */ T1CON = 0x8030; /* 16-bit 1:1 prescale value */
IPC0bits.T1IP = 2; /* Priority */ IEC0bits.T1IE = 1; /* Enables the TMR1 overflow interrupt */ IFS0bits.T1IF = 0; /* TMR1 Overflow Interrupt Flag bit */
/* init TMR2 */
T2CON = 0x8000; TMR2 = 0x0000; PR2 = 0x3ff;
IPC1bits.T2IP = 2; /* Priority */ IEC0bits.T2IE = 1; /* Enables the TMR2 overflow interrupt */ IFS0bits.T2IF = 0; /* TMR2 Overflow Interrupt Flag bit */
/* init TMR3 */
T3CON = 0x8010; TMR3 = 0x0000; PR3 = 0x77ff;
IPC1bits.T3IP = 3; /* Priority */ IEC0bits.T3IE = 1; /* Enables the TMR2 overflow interrupt */ IFS0bits.T3IF = 0; /* TMR2 Overflow Interrupt Flag bit */
U2MODE = 0x8000; /* Transmit status and control register */ U2STA = 0x84c0; /* Receve status and control register */ U2BRG = 0x0007; /* Baund rate control register 115200 bps */
U1MODE = 0x8400; /* U1ATX Transmit status and control register */ U1STA = 0x8400; /* Receve status and control register */ U1BRG = 0x0007; /* Baund rate control register 115200 bps */
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет