Страница 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
Re: Кто нибудь шарит в MPLAB?
Добавлено: Ср сен 21, 2016 11:10:34
Saperawi
Там спросить или там есть нужная мне инфа
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?

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 бита, то ничего страшного не случиться, если что-то запишется в остальные биты.