MPLAB в вопросах и ответах

Поклонники продукции Microchip Technology Inc тусуются тут.
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: 12F629

Сообщение otest »

В МК возможно всё.
Saperawi
Родился
Сообщения: 14
Зарегистрирован: Пн сен 19, 2016 12:11:21

Re: 12F629

Сообщение Saperawi »

otest писал(а):В МК возможно всё.

Вы понимаете как Это Реализовать в программе?
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Кто нибудь шарит в MPLAB?

Сообщение otest »

предложения по работе здесь
viewforum.php?f=53
Saperawi
Родился
Сообщения: 14
Зарегистрирован: Пн сен 19, 2016 12:11:21

Re: Кто нибудь шарит в MPLAB?

Сообщение Saperawi »

otest писал(а):предложения по работе здесь
viewforum.php?f=53

Там спросить или там есть нужная мне инфа
Аватара пользователя
shindax
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Re: Кто нибудь шарит в MPLAB?

Сообщение shindax »

Спросить. И за деньги у Вас будет "нужная инфа". :)
Saperawi
Родился
Сообщения: 14
Зарегистрирован: Пн сен 19, 2016 12:11:21

Re: Кто нибудь шарит в MPLAB?

Сообщение Saperawi »

shindax писал(а):Спросить. И за деньги у Вас будет "нужная инфа". :)

Как и куда спросить? Перенесите меня пожалуйста.
Аватара пользователя
shindax
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Сб сен 19, 2009 07:02:19

Re: Кто нибудь шарит в MPLAB?

Сообщение shindax »

Варианта тут всего два:
Вариант 1.
Идёте по указанной уже ссылке:
viewforum.php?f=53
Нажимаете кнопку "Новая тема", описываете свои "хотелки". Желающие подзаработать там-же отзываются и уже с ними Вы оговариваете сроки, суммы, варианты поставки и.т.д.

Вариант 2.
Обдумываете принципиальную схему, пусть даже на основе той, что по Вашей ссылке октрывается, но делаете не через з..цу, а как положено. Пишете программу. Если что-то не получается, снова пишете сюда и описываете свои затруднения, Вам здесь непременно помогут. Ваша задача решается за полчаса и пару литров пива с перекурами.
Аватара пользователя
Igor_Naum
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб янв 26, 2013 21:28:58
Откуда: Москва

Re: Вопросы по MPLAB X.

Сообщение Igor_Naum »

Думаю мой вопрос по близкой теме...
Установил MPlab X 3.4 , компилятор ХС8 1.33 + Code Configurator.
И как оказалось code configurator не поддерживает камень для моего проекта pic18f6520.
Все ничего, только как оказалось некоторые функции: Например чтение/запись EEPRoM придется создавать вручную, так как в библиотечных функциях их нет (должны создаватся с помощью Code Configurator)/

Странно, хоть я новичек (c MPLab не работал), но помоему, это жутко не удобно.
Вообще интуитивно MPLab X мне близок, но теперь даже незнаю - надо было ставить 8-ку???
Может кто сталкивался подскажите как поступить, можно ли обойти проблему и остаться на X? :dont_know:
Чтобы избавиться от всяких котов, лучше всего обзавестись своим собственным...
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Аlex »

Igor_Naum писал(а):Вообще интуитивно MPLab X мне близокно теперь даже незнаю - надо было ставить 8-ку???
Вы говорите про IDE. Разницы нет никакой, только лишь в удобстве.
Если в компиляторе нет библиотек, то их не будет в любой IDE.
Аватара пользователя
Igor_Naum
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб янв 26, 2013 21:28:58
Откуда: Москва

Re: Вопросы по MPLAB X.

Сообщение Igor_Naum »

А, так наверно дело не в MPLab, а в компиляторе XC8?
:)
Попробую помладше версии поискать.
Чтобы избавиться от всяких котов, лучше всего обзавестись своим собственным...
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Zhuk72 »

А не проще самому расписать работу с ЕЕПРОМ, чем искать библиотеки? В ДШ все и так расписано, осталось только перенести в проект.
Сделаете один раз, потом постоянно пользоваться будете.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Igor_Naum
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб янв 26, 2013 21:28:58
Откуда: Москва

Re: Вопросы по MPLAB X.

Сообщение Igor_Naum »

Дело в том, что я пока на этапе вникания в MPlab и XC.
Скажем так,- ситуация с EEPROM , это индикатор насколько быстро я смогу сделать первоначальный рабочий вариант проекта...
Ну и MicroC немного разбаловал после ассемблера...
Ща пробую XC 1.32 установить.
Чтобы избавиться от всяких котов, лучше всего обзавестись своим собственным...
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Zhuk72 »

Ничего не понял :)
Если знакомы и с ассемблером, и с си дело имели, то какие проблемы расписать функции для еепром? МПлаб достаточно вменяем для начинающих, проблем быть не должно.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Аlex »

Igor_Naum писал(а):Попробую помладше версии поискать.
Дело не в версии, а в отсутствии поддержки в компиляторе всяческих нужных Вам библиотечных функций :)
Поддержу Zhuk72'а - напишите один раз эти функции, потом будете пользоваться.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Аlex »

Попробуйте :
Спойлер

Код: Выделить всё

/************************************************************/
void Eeprom_Write(unsigned int adres, char val){
*(unsigned int*)&EEADR = adres;
EEDATA = val;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.WREN = 1;
EECON2 = 0x55;
EECON2 = 0xaa;
EECON1bits.WR = 1;
}
/************************************************************/
unsigned char Eeprom_Read(unsigned int adres){
*(unsigned int*)&EEADR = adres;
EECON1bits.EEPGD = 0;
EECON1bits.CFGS = 0;
EECON1bits.RD = 1;
return EEDATA;
}
/************************************************************/
Может заработает...
Аватара пользователя
Igor_Naum
Открыл глаза
Сообщения: 46
Зарегистрирован: Сб янв 26, 2013 21:28:58
Откуда: Москва

Re: Вопросы по MPLAB X.

Сообщение Igor_Naum »

Да, код компилится, и симулятор показывает запись в ЕЕпром.
http://img.radiokot.ru/files/84082/12s52hjr2e.jpg
Спасибо...
Добавлю туда запрет прерываний и проверку флага записи...

Но это потом... Как оказалось есть пробелы - изучаю структуру файлов проектов.
Чтобы избавиться от всяких котов, лучше всего обзавестись своим собственным...
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Zhuk72 »

Alex, поясните, пожалуйста, вот это:

*(unsigned int*)&EEADR = adres;

Адрес ЕЕПРОМ у этого ПИКа 10-битный, младшие 8 бит в EEADR и 2 старших бита в EEADRH.
Признаю, что мои познания в С пока весьма поверхностные, но все равно не понимаю, как принимаемый функцией adres попадет в старший регистр адреса.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Аlex »

Zhuk72 писал(а):Alex, поясните, пожалуйста, вот это:
*(unsigned int*)&EEADR = adres;
Если разложить это всё на части, то получаем - объявление указателя на int-переменную, присваивание ему адреса, находящегося в EEADR, и по этому указателю (адресу, который записали) пишем значение переменной adres. Получается запись обоих байтов в адреса, начиная с EEADR.
Вобщем, штудируйте на тему "указатели" :)
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Zhuk72 »

Спасибо за разъяснение :) Интересно.
Указатели я видел, но не сообразил, что инт разложится на 2 байта, один из которых окажется в соседнем старшем регистре.
Еще этот амперсанд там зачем-то :?

Вот я бы пошел в лобовую атаку:

Код: Выделить всё

EEADR = (adres & 0x0FF);
EEADRH = ((adres >> 8) & 3);

Всегда помню о том, что в конечном итоге все это выльется в ассемблерный код. И потому стараюсь "объяснить" компилятору на пальцах :))) так сказать, попроще, чтоб он не вздумал чесать правое ухо левой рукой через промежность.
Вообще, интересно было бы скормить компилятору оба варианта и посмотреть, в какой асм код это выльется в обоих случаях.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Вопросы по MPLAB X.

Сообщение Аlex »

Zhuk72 писал(а):Всегда помню о том, что в конечном итоге все это выльется в ассемблерный код.
И это правильно.

Zhuk72 писал(а):Вообще, интересно было бы скормить компилятору оба варианта и посмотреть, в какой асм код это выльется в обоих случаях.
Если уберёте "& 3" и компилятор будет более-менее умным, то код должен быть одинаковым.

Кстати, "& 3" можно и убрать. Если в регистре EEADRH активных только 2 бита, то ничего страшного не случиться, если что-то запишется в остальные биты.
Ответить

Вернуться в «PIC»