ICD2

Ale teď jsem zjistil, že mám jinej problém

když chci přečíst stav registru, tak to píše
ICD0116: MPLAB ICD 2 is busy
A vyčte pokaždé něco jíného.
Co s tím?

ja to zase špatně zařadil.
Bez názvu.JPG

Netuším, proč čteš pokaždé něco jiného, třeba ti plavou vstupy. V každém případě vidím, že se dobrých rad zrovna nedržíš.

Ja zkoušel i WATCH a stejně to čte pořád něco jiného. Na zkoušku jsem tam dal TMR0 a PORTy a při každém refresh je tam nějaká jiná hodnota. Při zastaveném programu.
A to že jsem tam dal Special Function Registers, tak to bylo proto, že jsem zkoušel i wath a pak sfr. A ty jsem print screen.

No třeba zrovna TMR0 by se měl zvyšovat o 1 a ne si skákat, jak se mu zachce. V simulatoru jede normálně. Když dám break na přerušení, tak by TMR0 měl být 0 a ne třeba 0xB5
Bez názvu.JPG

  1. TMR0 běží i při breaku, tak to prostě je.
  2. Stavy na portech… Opravdu je máš ošetřeny PullUp rezistory apod?

Popiš, co konkrétně mimo TMR0 se v klidu mění. Přijdem na to.

Mám udělané všechny úpravy.

Tak třeba PORTD s hodnoty 0x58 na 0xD8. Když ne každej refresh tak každej 3 se změní.

A ty PullUpy myslíš kde?

V tom případě, jak máš ošetřen třeba RD7 tj. pin30?

Oh, moje chyba. Je na něm SMT160-30 tak proto se to mění.
Příště budu 3x měřit a jednou řezat.
Jsem si neuvědomil vůbec, že jsou k PIC taky připojeny různé další věci.
A taky jsem si neuvědomil, že když používám PWM, tak se mi to ukáže na výstupu. Mám to teprve 3 den.
Co všechno v PIC běží při breaku?
Díky za radu a za snahu. :smiley:

Při debuggingu existují všeliká omezení. Je třeba, aby sis přečetl v Helpu MPLAB sekci “MPLAB ICD2”. Tam se dočteš vše podstatné. Když ti bude něco nejasné, tak o tom rád podiskutuji.

Jak se má správně připojit napájení? Mám to takhle.
Ze zdroje přes diodu na VCC PIC. Z ICD2 na VCC PIC. Když zapnu ICD2 k USB a zařízení na ICSP, stoupne mi odběr ze zdroje cca o 50mA. GND zdroje a GND PC se “nehádají”.
Čím to je? A je to na závadu?

Nechápu, co myslíš obratem "GND se nehádají. V každém případě ti odběr nemůže narůst, protože podle předpisu smí být napájení Target připojeno až poté, co již ICD2 komunikuje s MPLAB! Vypnutí “Power target circuit from MPLAB ICD 2” považuji za samozřejmé.

Kdysi dávno, ještě než jsem si postavil nový zdroj, tak spojení GND zdroje a GND PC tak PC začalo dělat divné věci a o zdroji ani nemluvím. A na různých forech jsem četl, co vše lidem dělá propojení PC a zdroje.

To jsem udělal jako první věc.

A první zapínam ICD2, pak zařízení.

Při vypnutém zdroji mám napětí v testu 2.11V v sekci settings - power.
Když zapnu zdroj, tak 4,33 V, ale odběr ze zdroje mám 50mA na “prázdno”. Bez ICD2 je odběr 2mA při zhasnutem LED displeji.

Teď mě napadlo, kolik má být Target VDD bez připojeneho napětí ze zařízení? Já tam mám 2,11 až 2.55V
Když zapnu Power target circuit from MPLAB ICD 2 tak se napětí změní na 5V. Z toho usuzuji, že je někde chyba. Dle mého názoru při vypnutém Power target circuit from MPLAB ICD 2 by tam měla být 0V. Jsem se do toho nějak zamotal. :blush:
Bez názvu.JPG

power.JPG

Měl jsem tam diodu, která neměla žádný úbytek napětí. Divné, ještě jsem neviděl zkratovanou diodu. Všechno je jednou poprvé. :smiley: Už to ukazuje 0V.Zmizel i problém se zdrojem, teď to ze zdroje nebere nic.
Díky za radu.:smiley:

Někdo by mohl udělat novej tišťák i s úpravami. :blush: Těch úprav je celkem dost a na tom zhuštěným tišťáku se to blbě dělá. Ale zase, jestli to má cenu dělat nový plošňák, jestli už je nějaká novější verze ICD. kdesi jsem tu zahlédl ICD2.5. A hlavně se dosti blbě shání 18F4550 I/P!

Ještě jednou díky za radu a hlavně trpělivost.

ICD2.5 je jen svým způsobem optimalizovaná verze-klon, který nepřináší žádnou funkčnost navíc. Místo budičů sběrnice jako převodníku úrovní je tam použito tranzistorů ve specifickém zapojení.

Programy pro PIC jsou stejné? Našel jsem totiž schéma zapojení, ale HEXy jsem nenašel. A to schéma se mi zamlouvá více jak 2.0. A hlavně by odpadli problémy s IO HC, HCT .

Předpokládám, že se bavíme o tomto:

http://www.mcu.cz/news.php?extend.1003.18

Všechny klony používají více méně stejné bootloadery. Firmware jako takové se nahrává přímo z adresářů MPLABu.

http://www.mcu.cz/news.php?extend.1003.18

Přesně o tomhle.

Zkusím to na nepájívém poli a uvidím, jak to pošlape. Nějaký FETy tu mám. Sice ne SMD, ale parametry stejné.

A ještě otázka. PIC se musí hexama nakrmit ještě před osazením, nebo to jde po USB nějak z MPLABu?

Bootloadery musí být naprogramovány před osazením do ICD2.