Страница 15 из 25

Re: 12F629

Добавлено: Вт сен 20, 2016 21:32:32
otest
В МК возможно всё.

Re: 12F629

Добавлено: Вт сен 20, 2016 21:34:25
Saperawi
otest писал(а):В МК возможно всё.
Вы понимаете как Это Реализовать в программе?

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

Добавлено: Ср сен 21, 2016 10:48:07
otest
предложения по работе здесь
http://radiokot.ru/forum/viewforum.php?f=53

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

Добавлено: Ср сен 21, 2016 11:10:34
Saperawi
otest писал(а):предложения по работе здесь
http://radiokot.ru/forum/viewforum.php?f=53
Там спросить или там есть нужная мне инфа

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

Добавлено: Ср сен 21, 2016 11:12:28
shindax
Спросить. И за деньги у Вас будет "нужная инфа". :)

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

Добавлено: Ср сен 21, 2016 11:14:22
Saperawi
shindax писал(а):Спросить. И за деньги у Вас будет "нужная инфа". :)
Как и куда спросить? Перенесите меня пожалуйста.

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

Добавлено: Ср сен 21, 2016 11:22:41
shindax
Варианта тут всего два:
Вариант 1.
Идёте по указанной уже ссылке:
http://radiokot.ru/forum/viewforum.php?f=53
Нажимаете кнопку "Новая тема", описываете свои "хотелки". Желающие подзаработать там-же отзываются и уже с ними Вы оговариваете сроки, суммы, варианты поставки и.т.д.

Вариант 2.
Обдумываете принципиальную схему, пусть даже на основе той, что по Вашей ссылке октрывается, но делаете не через з..цу, а как положено. Пишете программу. Если что-то не получается, снова пишете сюда и описываете свои затруднения, Вам здесь непременно помогут. Ваша задача решается за полчаса и пару литров пива с перекурами.

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

Добавлено: Пн сен 26, 2016 16:42:02
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:

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

Добавлено: Пн сен 26, 2016 16:59:30
Аlex
Igor_Naum писал(а):Вообще интуитивно MPLab X мне близокно теперь даже незнаю - надо было ставить 8-ку???
Вы говорите про IDE. Разницы нет никакой, только лишь в удобстве.
Если в компиляторе нет библиотек, то их не будет в любой IDE.

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

Добавлено: Пн сен 26, 2016 18:27:16
Igor_Naum
А, так наверно дело не в MPLab, а в компиляторе XC8?
:)
Попробую помладше версии поискать.

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

Добавлено: Пн сен 26, 2016 19:08:06
Zhuk72
А не проще самому расписать работу с ЕЕПРОМ, чем искать библиотеки? В ДШ все и так расписано, осталось только перенести в проект.
Сделаете один раз, потом постоянно пользоваться будете.

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

Добавлено: Пн сен 26, 2016 19:28:49
Igor_Naum
Дело в том, что я пока на этапе вникания в MPlab и XC.
Скажем так,- ситуация с EEPROM , это индикатор насколько быстро я смогу сделать первоначальный рабочий вариант проекта...
Ну и MicroC немного разбаловал после ассемблера...
Ща пробую XC 1.32 установить.

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

Добавлено: Пн сен 26, 2016 19:37:13
Zhuk72
Ничего не понял :)
Если знакомы и с ассемблером, и с си дело имели, то какие проблемы расписать функции для еепром? МПлаб достаточно вменяем для начинающих, проблем быть не должно.

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

Добавлено: Пн сен 26, 2016 20:50:05
Аlex
Igor_Naum писал(а): Попробую помладше версии поискать.
Дело не в версии, а в отсутствии поддержки в компиляторе всяческих нужных Вам библиотечных функций :)
Поддержу Zhuk72'а - напишите один раз эти функции, потом будете пользоваться.

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

Добавлено: Пн сен 26, 2016 21:04:02
А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;
}
/************************************************************/
Может заработает...

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

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

Но это потом... Как оказалось есть пробелы - изучаю структуру файлов проектов.

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

Добавлено: Вт сен 27, 2016 12:11:06
Zhuk72
Alex, поясните, пожалуйста, вот это:

*(unsigned int*)&EEADR = adres;

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

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

Добавлено: Вт сен 27, 2016 16:08:35
Аlex
Zhuk72 писал(а):Alex, поясните, пожалуйста, вот это:
*(unsigned int*)&EEADR = adres;
Если разложить это всё на части, то получаем - объявление указателя на int-переменную, присваивание ему адреса, находящегося в EEADR, и по этому указателю (адресу, который записали) пишем значение переменной adres. Получается запись обоих байтов в адреса, начиная с EEADR.
Вобщем, штудируйте на тему "указатели" :)

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

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

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

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

EEADR = (adres & 0x0FF);
EEADRH = ((adres >> 8) & 3);
Всегда помню о том, что в конечном итоге все это выльется в ассемблерный код. И потому стараюсь "объяснить" компилятору на пальцах :))) так сказать, попроще, чтоб он не вздумал чесать правое ухо левой рукой через промежность.
Вообще, интересно было бы скормить компилятору оба варианта и посмотреть, в какой асм код это выльется в обоих случаях.

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

Добавлено: Вт сен 27, 2016 20:43:30
Аlex
Zhuk72 писал(а):Всегда помню о том, что в конечном итоге все это выльется в ассемблерный код.
И это правильно.
Zhuk72 писал(а):Вообще, интересно было бы скормить компилятору оба варианта и посмотреть, в какой асм код это выльется в обоих случаях.
Если уберёте "& 3" и компилятор будет более-менее умным, то код должен быть одинаковым.

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