|
|
|
|
IDiod: JDM для вас не подойдет! Ну зачем так категорично? Прекрасно подойдет. Соединять "земли" нельзя только на время программирования, а потом - отключили разъем ICSP от устройства и работаем дальше. Если программируемое устройство связано с компьютером (к примеру, через СОМ-порт), то на время программирования просто временно разъединяем. Это плата за простоту. А в рабочем-то режиме PIC с компьютером не через JDM общается, а через МАХ232 (к примеру). Человек ведь тоже не способен дышать и глотать одновременно, ну и что же - поочередно ничуть не хуже.
|
|
|
А почему нельзя соединять земли (если можно поподрпобнее). JDM - программа или протокол? Если программа - то она сама по себе исп. другие протоколы. А то в том программаторе, который я ваяю - земля программатора соединяется с корпусом разъема DB25F, а не с выводами. Этот корпус гальванически соединен с землей на выводах (по-моему 18-25 выводы)? |
|
|
Дорогой тов. Sergeant, Ваш НИК очень созвучен с тов. « Сержант», а по всей вероятности не знаете, что COM порт разрабатывался на протоколе RS 232 специально для буквопечатающих аппаратов, применяющихся у военных связистов. (Кстати до сих пор кое-где применяется. Это говорит вам связист запаса.) А аппараты эти требовали разнополярной посылки. Поэтому, соединив землю COM порта с землёй вашего устройства, вы рискуете получить на выходе не ту полярность. Picmaniac прав. За простоту надо платить. С JDM программатором я бы советовал быть осторожнее. А если он вам по нраву, тогда развяжите гальванически. Хотя бы через оптроны. Поэтому я использую ProPic, который работает через LPT порт. Но вот он отказывается работать из под Windows XP. Думаю подыскать что-нибудь. Может есть какие мысли? Пока работаю из под 98-го.
|
|
|
Sergeant: JDM - программа или протокол? JDM - это "железка", т.е. платка с деталями. Программа - IC-Prog. Почему нельзя соединять "земли" - смотрите внимательно схему JDM. Там 12 Вольт для программирования хитро получаются. И "земля" компьютера соединена с выводом питания PIC. _ Кстати, VitVas, перед работой с EEPROM следует обнулять бит EEPGD в регистре EECON1. И еще. Те регистры пользователя, к которым необходимо часто обращаться из разных частей программы, удобно располагать по адресам 70h-7Fh. Тогда они доступны из любого банка. Я обычно располагаю там как раз регистры для врЕменного хранения данных. Сказанное относится к PIC16F873,874,876,877.
|
|
|
Теперь понятно...
|
|
|
Бит EEPGD обнуляется перед командой разрешения записи. А вот ваши макросы мне понравились. Так почему же не пишется EEPROM? |
|
|
Люди, кто-нибудь может кинуть рабочую ссылку на рабочий компилятор Си для МК PIC16ХХХХ. Скачал с сайта www.hitech.com PICC lite - он работает только под mplab 6.5 Скачал демо версию PICC 18 - при компиляции виндовс выдает тотальную ошибку с закрытием программы Сейчас был на microchip.ru там на IAR C и еще какой-то ссылки не рабочие (отсутствует ссылка на файл). На microchip.com только MPLAB C18 и MPLAB C30 - с помощью них можно запрограммировать PIC16ХХХХ ??? |
|
|
VitVas, маловато информации. Сколько экземпляров PIC Вы пробовали запрограммировать? Чем считывали информацию из EEPROM после попытки записи? Программатором? Каков результат? Другим программатором пробовали? И в самой программе, как я понял, тоже пытались записывать (считывать) данные в EEPROM? Сначала хорошо бы добиться, чтоб всё нормально записывалось и считывалось программатором. А потом уже разбираться, как это организуется в программе. Вот насчёт компилятора С я ничего не могу сказать. Сам бы не прочь освоить. Пока не возникало необходимости, только на ассемблере пишу. Может быть на форуме kazus.ru посоветуют? |
|
|
VitVas, только что я специально попробовал запрограммировать и считать EEPROM PIC16F876 при помощи JDM. Всё прошло без проблем. Попробуйте прошить hex-файл (присоединен в архиве). Должно получиться как на картинке (в том же архиве). Затем попробуйте прочитать. Вдруг получится Что-то не присоединяется... Ладно, сделаем иначе: http://www.pic16.nm.ru/testEE876.zip |
|
|
Ура!!! Все получилось. Я переменные, которые участвуют в чтении-записи EEPROMa, определил в адреса, начиная с h’70’, а сами процедуры чтения-записи восстановил точно, как в учебнике и ВСЁ получилось. Ну а с программатора не писалось, потому что я не на тот адрес их отправлял. Кстати, picmaniac, вы, случайно не в Екатеринбурге? А то пиво с меня за добрые и ценные советы! Спасибо.
|
|
|
|
|