4 сообщения в этой теме

Дуч    0

Здравствуйте.

Есть два программатора Pickit3. Один из них китайский клон, другой оригинал от Microchip.

Китаец стирает калибровочную константу Pic12f629, а оригинал прошивает и проблем нет. Подскажите причину стирания константы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Дуч    0

#pragma config FOSC =  INTRCIO      // INTOSC oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN
#pragma config WDTE =  ON           // WDT enabled
#pragma config PWRTE = ON           // PWRT enabled
#pragma config MCLRE = ON          // MCLR/VPP pin function is digital input - причина оказалось в этом. Было OFF (шилось с бубном и стиралась константа)
#pragma config CP =    ON           // Program memory code protection is enabled
#pragma config CPD =   ON           // Data memory code protection is enabled
#pragma config BOREN = ON           // Brown-out Reset enabled Сброс по понижению питания включен

Расскажите умные люди почему? я не пойму 

Изменено пользователем Дуч

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2jas    17

такое случается если проседает напряжение питания микроконтроллера или mclr. попробуйте снять микроконтроллер с платы и прошить отдельно. у вас на китайском клоне отладка работает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
4uvak    164

Попробуй нормальную универсальную программу, которая и со вторым и с третьим пиккитом работает. У меня клон  отлично работает с этой прогой. Возможно придется пиккит3 перепрошить. Для этого открой меню Tools, и нажми на пункт Download PICkit Operating System, и выбери тот hex файл из папки пиккит3, который виден. Программатор перепрошьется сам через усб

PICkit3.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: sh30fr
      Прошу помощи у знающих. В наличии программатор tl866cs и atmega328p-PU. Чип шьется вдоль и поперек без проблем.
      Есть три чипа atmega328p-AU. Установил на адаптер. Попробовал прошить. Ошибка. Чипы новые, от разных продавцов.  ID читается, стирание проходит без ошибки, но по результату - безрезультатно((. Фьюзы не шьются. Пробовал через ISP шить, тот же результат.  Вопрос. Есть ли различие в алгоритме прошивки AU и PU?
       
    • Автор: Astrix77
      Добрый вечер!
      Необходимо написать код и разработать схему для контроллера управления домом:
      1й этап самый простой, необходим код для управления освещением.
      2й этап, написание кода для управления температурой дома.
      Цена и сроки договорные, подробности в личке.
      Забыл добавить. Код нужен для отладочной платы STM32VLDISCOVERY, только камень заменен на stm32f103ret6
      В начале нужна будет консультация по установке и настройке всех необходимых программ для прошивки МК
    • Автор: Qwer11
      Здравствуйте.
      Собрал простую схему мигания светодиодом,
      использую pickit3 и  flowcode7 триал версию,
      в симуляции светодиод мигает.
      pic18f4550 определяется в MPLAB IPE v4.05 и прошивается,
      но не могу понять если запитывать от ПК и программатора схему,
      откуда в этом случае идет земля ,  где схема в этом случае замыкается.
      Спасибо.
      Target folder: C:\Users\Public\DOCUME~1
      Source name:   C:\Users\Public\Documents\Flowcode1.fcfx
      Title:         
      Description:   
      Device:        PIC.18F.18F4550
      Generated by:  Flowcode v7.2.1.4
      Date:          Monday, November 20, 2017 14:30:34
      Users:         1
      Registered to: 

      Launching the compiler...
      C:\Program Files\Microchip\MPLABX\v4.05\mplab_ipe\ipecmd.exe  /P18F4550 /F"C:\Users\Public\DOCUME~1\Flowcode1.hex" /TPPK3 /M /OL /W3.3
      . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
      *****************************************************
      Connecting to MPLAB PICkit 3...
      Currently loaded firmware on PICkit 3
      Firmware Suite Version.....01.51.06
      Firmware type..............PIC18F
      . .
      Programmer to target power is enabled - VDD = 3,250000 volts.
      Target device PIC18F4550 found.
      Device ID Revision = 7
      . . . . .
      Device Erased...
      Programming...
      The following memory area(s) will be programmed:
      program memory: start address = 0x0, end address = 0xff
      configuration memory
      program memory
      Address: e Expected Value: 44 Received Value: 40
      Failed to program device
      Programming Target Failed.
      . . . . .
      C:\Program Files\Microchip\MPLABX\v4.05\mplab_ipe\ipecmd.exe reported error code 7
      FINISHED
       


    • Автор: SDD39
      Изучая пару месяцев язык программирования Си  , решил попробовать написать данную программу для закрепления и углубления знаний.
      В чём её суть.  Ну к примеру нам надо спаять мост Винна. Для него , как известно нужны пары деталей конденсаторов и резисторов с желательно близкими значениями. Особенно трудно обычно подобрать конденсаторы но не в этом сейчас суть.  Так вот , пускай у нас есть несколько десятков  конденсаторов  и мы можем соединив параллельно по два конденсатора получить нужный номинал . Но при этом имеется вероятность , что подобрав пары  должным образом , мы можем получить весьма низкое отклонение  подобранных  пар , соединённых последовательно или параллельно.  Так вот , если к примеру у нас имеется 31 промеренный конденсатор (что я сделал и занеёс в таблицу для МБМ конденсаторов 0.1 мкФ , чтобы иметь практические данные это не так уж долго и вполне осуществимо на практике)  , то количество только возможных не повторяющихся  комбинаций будет составлять (31*31 - 31)/2= 465 . Просчитать  такое  количество  в ручную , отсеить невозможные комбинации где один и тот же конденсатор присутствует более одного раза , да ещё выбрать наилучший вариант задача компьютера , а не человека.   И он справляется с ней  за секунду.
      По скольку в программировании я не очень силён то какой то графической оболочки у меня нет (я вообще пока не знаю как это делается). Так же не придумал способа ввода данных в программу. Наверно надо будет попробовать как то делать это из текстового файла. Результаты программа уже выводит на экран и создаёт текстовый файл Rezalts.txt с результатами вычислений. Хотелось бы что бы опытные программисты взглянули на мой труд и указали на недочеты , ошибки и возможные решения в лучшем направлении. В общем буду благодарен за незлобные указания моих ошибок . Прилагаю исходник на Си и сопутствующие файлы данных и результатов в архиве . А так же скриншот результатов вывода на экран.
       
       
       
       
         
       
       
       
       
        
       

      Rezalts.rar
    • Автор: ximik_se
      Всем привет.

      Решил сделать небольшую домашнюю метеостанцию.

      Есть приемник с экраном, куда выводится инфа (построено на ATMEGA 328P) и есть передатчик, который посылает инфу по возудху (построено на ATtiny85).

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

      При этом время между измерениями не меньше 20 сек.

      В общем заказал я себе с Китаюшки более точные датчики - 

      CJMCU-1080 HDC1080
      Вещица прекрасная, но общается по I2C.

      А библиотеку рабочую под нее я смог найти только одну "ClosedCube_HDC1080.h" и никаких модификаций под ATtiny я найти не смог.

      Для ее работы соответственно нужен Wire.h

      В общем решил я его поковырять самостоятельно, хоть и не прогер. Забрался во внутренности ClosedCube_HDC1080.cpp и везде заменил Wire на TinyWireM (некий аналог Wire для ATtiny).

      И у меня даже получилось считывать валжность, но вот вместо температуры приходит гадость. Ибо при компиляции Arduino IDE ругалась на строку (я ее ниже в коде закомментировал)
      uint8_t buf[4]; for (int i = 1; i < (seconds*66); i++) { TinyWireM.beginTransmission(_address); TinyWireM.write(0x00); TinyWireM.endTransmission(); delay(20); TinyWireM.requestFrom(_address, (uint8_t)4); // TinyWireM.readBytes(buf, (size_t)4); } Ошибку пишет следующую:

      \ClosedCube_HDC1080.cpp: In member function 'void ClosedCube_HDC1080::heatUp(uint8_t)':

      \ClosedCube_HDC1080.cpp:81:13: error: 'class USI_TWI' has no member named 'readBytes'

      TinyWireM.readBytes(buf, (size_t)4);
      Может есть ребята более понимающие в коде и сумеющие победить эту проблему, чтобы и температуру этот датчик смог передавать через ATtiny85.

      Вот полный текст файла ClosedCube_HDC1080.cpp (уже замененный ну и строчка закоментирована):
      #include <TinyWireM.h> #include "ClosedCube_HDC1080.h" ClosedCube_HDC1080::ClosedCube_HDC1080() { } void ClosedCube_HDC1080::begin(uint8_t address) { _address = address; TinyWireM.begin(); // Heater off, 14 bit Temperature and Humidity Measurement Resolution TinyWireM.beginTransmission(_address); TinyWireM.write(CONFIGURATION); TinyWireM.write(0x0); TinyWireM.write(0x0); TinyWireM.endTransmission(); } HDC1080_Registers ClosedCube_HDC1080::readRegister() { HDC1080_Registers reg; reg.rawData = (readData(CONFIGURATION) >> 8); return reg; } void ClosedCube_HDC1080::writeRegister(HDC1080_Registers reg) { TinyWireM.beginTransmission(_address); TinyWireM.write(CONFIGURATION); TinyWireM.write(reg.rawData); TinyWireM.write(0x00); TinyWireM.endTransmission(); delay(10); } void ClosedCube_HDC1080::heatUp(uint8_t seconds) { HDC1080_Registers reg = readRegister(); reg.Heater = 1; reg.ModeOfAcquisition = 1; writeRegister(reg); uint8_t buf[4]; for (int i = 1; i < (seconds*66); i++) { TinyWireM.beginTransmission(_address); TinyWireM.write(0x00); TinyWireM.endTransmission(); delay(20); TinyWireM.requestFrom(_address, (uint8_t)4); // TinyWireM.readBytes(buf, (size_t)4); } reg.Heater = 0; reg.ModeOfAcquisition = 0; writeRegister(reg); } float ClosedCube_HDC1080::readT() { return readTemperature(); } float ClosedCube_HDC1080::readTemperature() { uint16_t rawT = readData(TEMPERATURE); return (rawT / pow(2, 16)) * 165 - 40; } float ClosedCube_HDC1080::readH() { return readHumidity(); } float ClosedCube_HDC1080::readHumidity() { uint16_t rawH = readData(HUMIDITY); return (rawH / pow(2, 16)) * 100; } uint16_t ClosedCube_HDC1080::readManufacturerId() { return readData(MANUFACTURER_ID); } uint16_t ClosedCube_HDC1080::readDeviceId() { return readData(DEVICE_ID); } uint16_t ClosedCube_HDC1080::readData(uint8_t pointer) { TinyWireM.beginTransmission(_address); TinyWireM.write(pointer); TinyWireM.endTransmission(); delay(9); TinyWireM.requestFrom(_address, (uint8_t)2); byte msb = TinyWireM.read(); byte lsb = TinyWireM.read(); return msb << 8 | lsb; }  
  • Сообщения

    • Около 10т. основное обогрев. Они живут гарантированно 800 циклов заряд разряд... Вопрос важный: все должно быть строго по закону. Им выгодно давать низкие тарифы ночью, тогда у них дневные пики меньше и соответственно потери. Те что я привел рассчитаны на 12 лет.   Январь и далее 2018г. Эх, на этом уже давно экономлю... А если в погреб? Все поменяется? Может есть другой способ набрать энергию на 7 часов и потратить за 17?
    • Похож, но всё таки другой... цена зверская конечно.
    • Пока здесь все это порастыкивал разобрался в распиновке, в любом случае может кому пригодится...
    • Вчера был уверен, что 100 кгц, теперь сомневаюсь. приду сегодня с работы посмотрю, нажата кнопка на осцилографе микросекунды /миллисекунды или нет.
    • Всех приветствую.
      Есть задача заменить механический 100 к потенциометр на  X9C103 его предел до 100 к.
      Хочу построить на нем управление к DC/DC конвертеру на  сенсорных кнопок PTT223 вместо встроенного обычного регулятора .
      Автор одного буржуйского ресурса утверждает что его можно подключить таким вот образом:

      Я выбрал вариант на 2 кнопки, увеличение и уменьшение.
      Согласно автора
       
      Data sheet выглядит так

      Помогите,  кто в теме,  разобраться с распиновкой, т.к. возникло разночтение в обозначениях пинов.
      Могу ли я доверять авторской распиновке?
       
    • @Крашер вы посылайте по этому АДРЕСУ или по ЭТОМУ.
    • Доброго времени суток. Похожую тему на форуме находил, но какого-то внятного ответа здесь и в интернете к сожалению не нашел вообщем решил собрать себе паралельный прогромматор для Avr (ссылка), выбор пал на ParaProg. нашел статью со схемой и печаткой под usb версию. закупился деталями, вытравил печатку, спаял схему, прошил МК и при подключении к ПК фигушки - USB устройство не опознано((( Менял сам FT232 на новый, переделывал печатку три раза - все без результатов. просьба помочь кто собирал и у кого это все работало...