Большой Воронежский Форум
Страница 33 из 43
« Первая < 2327282930313233 343536373839 > Последняя »
»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
otest 01:07 14.02.2012

Сообщение от :
чтоб вставить прошить, а оно заработало

это только PICkit умеет

Сообщение от :
хочу попрактиковаться с положительным эффектом

EXTRA PIC не самый плохой. [Ответ]
Teeen 03:16 14.02.2012

Сообщение от VLV89:
Да тут понимаешь, просто хочется с чего то начать, чтобы так сказать на практике получилось, чтоб вставить прошить, а оно заработало))))) потом уже двигаться дальше Понимаю, что можно купить готовый программатор, но еще раз повторюсь, хочу попрактиковаться с положительным эффектом

Вам правильно говорят, каждый раз, чтобы запрограммировать PIC его необходимо будет выдернуть из основной платы(схемы) что приведет к быстрой кончине микроконтроллера и не даст вам возможность внутрисхемной отладки программы. Плюс COM-порт наверняка у вас не настоящий, а виртуальный? Из-за этого тоже может быть засада. [Ответ]
VLV89 09:01 14.02.2012

Сообщение от Teeen:
Вам правильно говорят, каждый раз, чтобы запрограммировать PIC его необходимо будет выдернуть из основной платы(схемы) что приведет к быстрой кончине микроконтроллера и не даст вам возможность внутрисхемной отладки программы. Плюс COM-порт наверняка у вас не настоящий, а виртуальный? Из-за этого тоже может быть засада.

И ком есть и lpt не виртуальные.
Блин ну неужели так сложно ответить [Ответ]
otest 09:23 14.02.2012
Форум тебя предупредил.
Детали описаны правильно. Вообще их номиналы не критичны. Мощность даже 0.125 или СМД хватит. Переменного резистора на схеме нет это знак "меньше или равно".
В добрый путь и ждём вопроса: "..почему ошибка по адресу 0х00" [Ответ]
VLV89 15:42 14.02.2012

Сообщение от otest:
Форум тебя предупредил.
Детали описаны правильно. Вообще их номиналы не критичны. Мощность даже 0.125 или СМД хватит. Переменного резистора на схеме нет это знак "меньше или равно".
В добрый путь и ждём вопроса: "..почему ошибка по адресу 0х00"

Блин))))) Ну чтож делать, а как насчёт вот этого, он лучше? просто как то уж сложновато он выглядит)))) [Ответ]
Cheb-burashka 19:52 14.02.2012
VLV89, посложнее, но по-лучше.
Большинство простых программаторов для PIC, что вешаются на СОМ-порт это программаторы идеологии "JDM". они есть и в самом простом исполнении:

http://images.yandex.ru/yandsearch?t...+pic&rpt=image

классикой на LPT является одноименный программатор из апнота "AN589".

http://www.ic-prog.com/index1.htm поддерживает оба типа программаторов. [Ответ]
Teeen 14:00 15.02.2012

Сообщение от Teeen:
petrd, спасибо! Во вторник перепишу прием данных ч/з прерывание... Отпишусь потом что получилось...

Ну что хочется сказать, ч/з прерывания частично помогло (переполнение буфера не возникает), теперь выскакивает ошибка кадра (FERR). И причина похоже всему рассинхронизация м/у PIC и модемом. Собственно это говорится в недостатках кода NRZ и как это устранить я не знаю... [Ответ]
ardnik 15:20 15.02.2012
Здравствуйте!
Я начинающий хочу научиться работать с микроконтроллерами, читаю самоучитель, начал делать копию программатора PicKit2. Подскажите пожалуйста, какой максимальной длинны может быть провод, соединяющий программатор с входом USB компьютера? В продаже только 1,5 метра. И еще вопрос, pic18f2550 надо программировать отдельно или запаянным в плату?
спасибо. [Ответ]
petrd 15:42 15.02.2012

Сообщение от ardnik:
Здравствуйте!
Я начинающий хочу научиться работать с микроконтроллерами, читаю самоучитель, начал делать копию программатора PicKit2. Подскажите пожалуйста, какой максимальной длинны может быть провод, соединяющий программатор с входом USB компьютера? В продаже только 1,5 метра. И еще вопрос, pic18f2550 надо программировать отдельно или запаянным в плату?
спасибо.

Какой самоучитель начали читать?
1. Полтора метра - нормальный кабель.
2. pic18f2550 - программируйте как Вам удобней, разницы нет. [Ответ]
ardnik 17:24 15.02.2012
Самоучитель по программированию PIC контроллеров для начинающих. автор Карабельников Евгений Александрович.
Pic18f2550 буду устанавливать на плату. Пожалуйста подскажите, кто сможет помочь прошить этот микроконтроллер. спасибо. [Ответ]
petrd 20:19 15.02.2012

Сообщение от ardnik:
Самоучитель по программированию PIC контроллеров для начинающих. автор Карабельников Евгений Александрович.
Pic18f2550 буду устанавливать на плату. Пожалуйста подскажите, кто сможет помочь прошить этот микроконтроллер. спасибо.

На Карабельникова - забить и забыть, уроки из разряда "как не надо делать". Просто поверьте и это далеко не мое личное мнение и я с этим согласен. Вы случайно денег за уроки дядюшке Карабельникову не отправляли?
Учиться надо по таким вещам:
http://www.pic24.ru/lib/exe/fetch.ph...formatting.pdf
http://www.pic24.ru/lib/exe/fetch.ph...s/voltmetr.rar
http://www.gooligum.com.au/tutorials.html

Контроллер прошью. Пишите в личку. [Ответ]
ardnik 20:46 15.02.2012
Огромное Вам спасибо! Денег дядюшке не отсылал. Последней ссылкой к сожалению воспользоваться не смогу, английским не владею. думаю, что мне и двух первых на первое время достаточно. По поводу прошивки, чуть позже, еще не привезли операционный усилитель и кварц. Еще раз спасибо! [Ответ]
petrd 08:20 16.02.2012

Сообщение от Teeen:
Ну что хочется сказать, ч/з прерывания частично помогло (переполнение буфера не возникает), теперь выскакивает ошибка кадра (FERR). И причина похоже всему рассинхронизация м/у PIC и модемом. Собственно это говорится в недостатках кода NRZ и как это устранить я не знаю...

Поподробней опишите проблему, откуда взялся NRZ? Желательно со ссылкой где про это упоминается. [Ответ]
AlexVK 08:32 16.02.2012
petrd,
Вы прекрасно начали рассказывать про Uart, продолжайте. Вы как раз подошли к передаче и приему пакетов, может и у Теееn проблемы пропадут.
С нетерпением ждем продолжения [Ответ]
Teeen 11:05 16.02.2012

Сообщение от petrd:
Поподробней опишите проблему, откуда взялся NRZ? Желательно со ссылкой где про это упоминается.

Это из Datasheet на P16F8xxA: "10.2 USART Asynchronous Mode In this mode, the USART uses standard Non-Returnto-Zero (NRZ) format (one Start bit, eight or nine data bits and one Stop bit)."

Но проблема у меня не в этом. Осциллографом пока не смотрел, но похоже, что после передачи данных в модем, я получаю эхом свою команду - успешно, а сам ответ модема как-будто идет инверсией и из-за этого возникает ошибка кадра...
Также, если отключить от линии модем, то на линии всегда появляется 0x00 и ошибка кадра. Нашел, что можно подтянуть линию RX ч/з резистор на питание +5v и тогда нулей и ошибки кадра не будет при отключенном модеме... Может быть и проблема с ответом от модема исчезнет за-за этой подтяжки?

Сейчас проверил напряжение на RX - когда модем выключен - 0V, модем включен - 3V, подключен PICKit2 к PIC - 5V, попробую завтра подтяну ножку PIC RX ч/з 10кОм на +5V... (когда подключен PICKit2 к PIC данные нормально принимаются!) [Ответ]
petrd 15:04 16.02.2012

Сообщение от Teeen:
Сейчас проверил напряжение на RX - когда модем выключен - 0V, модем включен - 3V, подключен PICKit2 к PIC - 5V, попробую завтра подтяну ножку PIC RX ч/з 10кОм на +5V... (когда подключен PICKit2 к PIC данные нормально принимаются!)

ИМХО. Я бы сначала уровни сигналов между PIC и SIM согласовал. [Ответ]
Teeen 08:47 17.02.2012

Сообщение от petrd:
ИМХО. Я бы сначала уровни сигналов между PIC и SIM согласовал.

Спасибо! Помогло!!!
Временно подал на PIC напряжение 4V и все заработало... (проверил, стабильно осуществляется прием от 4,5V и до 4V - выше - помехи, ниже не пробовал, да и не надо).

Также хотелось бы уточнить, как правильно написать объявление переменных, чтобы компилятор MikroC не ругался: "IRP bit must be set manually for indirect access to 'ModemAnswer' variable" ?
Переменную объявляю так:
char ModemAnswer[90]; [Ответ]
petrd 09:11 17.02.2012

Сообщение от Teeen:
Спасибо! Помогло!!!
Временно подал на PIC напряжение 4V и все заработало... (проверил, стабильно осуществляется прием от 4,5V и до 4V - выше - помехи, ниже не пробовал, да и не надо).

Также хотелось бы уточнить, как правильно написать объявление переменных, чтобы компилятор MikroC не ругался: "IRP bit must be set manually for indirect access to 'ModemAnswer' variable" ?
Переменную объявляю так:
char ModemAnswer[90];

Еще раз просмотрите про питание SIM. У меня есть такая информация - на SIM подается питание 4 в (номинал), а внутри SIM стоит стабилизатор LDO и внутренняя логика (в т.ч. выводы TxD, RxD) привязана к 3 в (точнее 2,98 в).

По второй проблеме ИМХО - лучший вариант переход на PIC18, остальное - костыли. [Ответ]
Teeen 09:37 17.02.2012

Сообщение от petrd:
Еще раз просмотрите про питание SIM. У меня есть такая информация - на SIM подается питание 4 в (номинал), а внутри SIM стоит стабилизатор LDO и внутренняя логика (в т.ч. выводы TxD, RxD) привязана к 3 в (точнее 2,98 в).

По второй проблеме ИМХО - лучший вариант переход на PIC18, остальное - костыли.

Еще раз спасибо! PIC18F4550 уже заказал 15 февраля за 200руб. с ebay, будет только ч/з месяц.
По напряжению вы абсолютно правы, я сейчас переделаю питание PIC под это напряжение. [Ответ]
Teeen 09:44 17.02.2012
petrd, подскажите еще пожалуйста, что такое в datasheet на PIC16 и 18F указано:
Single-supply 5V In-Circuit Serial Programming ? Напряжение программирования PIC?
И еще впопрос: как-то можно питать PIC 5V, а чтобы логика TxD и RxD работала на 3V? Или эта логика как раз и задается питанием МК? [Ответ]
petrd 10:47 17.02.2012

Сообщение от Teeen:
petrd, подскажите еще пожалуйста, что такое в datasheet на PIC16 и 18F указано:
Single-supply 5V In-Circuit Serial Programming ? Напряжение программирования PIC?
И еще впопрос: как-то можно питать PIC 5V, а чтобы логика TxD и RxD работала на 3V? Или эта логика как раз и задается питанием МК?

1. Это про режим низковольтного программирования (LVP), читайте.
2. Можно. Только надо между PIC и SIM сделать согласователи уровней (3->5 и 5->3) - на транзисторах, на микросхеме, это уже дело техники. У PIC периферия работает от питания, поэтому какое питание, такие и уровни на выводах. [Ответ]
kiv121 17:34 17.02.2012
с армом потренероваться никто не хочет? [Ответ]
petrd 10:39 19.02.2012

Сообщение от kiv121:
с армом потренероваться никто не хочет?

В чем суть вопроса? Предложение поделиться опытом? Поиск того кто поделится опытом? Или что? [Ответ]
Teeen 04:58 22.02.2012

Сообщение от petrd:
1. Это про режим низковольтного программирования (LVP), читайте.
2. Можно. Только надо между PIC и SIM сделать согласователи уровней (3->5 и 5->3) - на транзисторах, на микросхеме, это уже дело техники. У PIC периферия работает от питания, поэтому какое питание, такие и уровни на выводах.

Изучил тему по согласованию уровней, спасибо Вам! Заказал микросхему: sn74lvc2t45, без доставки 94 рубля, как раз на 2-а входа/выхода.
Есть еще специализированные микросхемы трансляторы уровня сигнала: TXS0101-TXS0108 (последняя цифра обозначает количество вводов/выводов), но их достать тяжелее. [Ответ]
Krivoy 10:04 24.02.2012
Петр, а давай цифровую шкалу (частотомер) на 628 на С сгондобим с экраном от сотика. А? [Ответ]
Teeen 12:04 27.02.2012
petrd, подскажите пожалуйста, в основном цикле будет крутится разборщик ответов от модема... Ответы от модема обрабатываются по прерыванию от UART. Когда PIC начал принимать байты от модема, основной цикл простаивает или тоже крутится отдельным потоком, но с задержкой? Спасибо. [Ответ]
ardnik 20:59 27.02.2012
petrd, всё заработало. Пишет-"Pickit2 konnected. ID=OHoss" Большое Вам спасибо.
С уважением А.Н. [Ответ]
petrd 07:25 28.02.2012

Сообщение от Krivoy:
Петр, а давай цифровую шкалу (частотомер) на 628 на С сгондобим с экраном от сотика. А?

Давайте.

Сообщение от :
в основном цикле будет крутится разборщик ответов от модема... Ответы от модема обрабатываются по прерыванию от UART. Когда PIC начал принимать байты от модема, основной цикл простаивает или тоже крутится отдельным потоком, но с задержкой? Спасибо.

На то они и прерывания. При возникновении прерывания немедленно (насколько это возможно) прекращается выполнение основной программы и начинает отрабатываться код прерывания, после отработки кода прерывания, управление возвращается в то место основной программы, где оно было прервано. Выводы:
1. Чем чаще возникает прерывание, тем чаще прерывается работа основного цикла (т.е. замедляется время выполнения основного цикла).
2. (Обычно, для PIC16, т.е для одного вектора прерывания). Чем больше код обработчика, тем больше время реакции на следующее прерывание (при неправильном коде возможны и пропуски прерываний) и опять же замедляется основной цикл.
Все зависит от конкретной задачи.
ИМХО. Не знаешь, что делать - начни с чего что-нибудь. Мое "что-нибудь" - обработчик короткий, и вся основная работа в основном цикле. А дальше по ходу смотреть. [Ответ]
BARS_21 23:34 14.03.2012

Сообщение от AlexVK:
Попробуй вот так, в начальных настройках надо записать в PORTB 0 или 1, надо конкретно указывать, иначе там может быть что угодно, поэтому у Вас и нет синхронного мигания всего порта

Код:
void main()
{
TRISB=0;          // настроили выводы PORTB на вывод
PORTB=0;        // записали в PORTB  0
while(1){         // организовали вечный цикл
PORTB=~PORTB;    // инверсия уровней на выводах PORTB
delay_ms(1000);  // задержка на 1000 мс = 1 сек
}
}// main

И всё-таки не работает. Точнее работает , но с мигает с периодом раз в 100 больше ( в протеусе все правильно ). Возможные причины: 1 mikroC установил коряво.
2.Биты конфигурации
3.хз
?????????????????

pic16f819 [Ответ]
petrd 07:53 15.03.2012

Сообщение от BARS_21:
И всё-таки не работает. Точнее работает , но с мигает с периодом раз в 100 больше ( в протеусе все правильно ). Возможные причины: 1 mikroC установил коряво.
2.Биты конфигурации
3.хз
?????????????????

pic16f819

1. На какой частоте запускается Ваш проект в Протеусе?
2. Какая частота указана в настройках проекта MikroC?
3. На какой частоте реально работает контроллер?
Ответ в этих трех вопросах, когда все они придут к одному значению, тогда все и встанет на место. [Ответ]
Страница 33 из 43
« Первая < 2327282930313233 343536373839 > Последняя »
Вверх