Programátor dsPIC

Je běžné, že breakpoint trochu uskočí. Ovšem to co popisuješ, souvisí nejspíš s problémem komunikace. Můžeš tam mít HW problém v místě budičů HC126, 126. Ale já jsem na totéž narazil dík kabelu k aplikaci. Ten pro použití krystalu 20MHz nesmí být delší než 15cm. Dlouho jsem bádal, proč debugging zastavuje jinde než chci a ICD2 neustále při krokování píše busy. Občas se to i seklo a LED ERROR se rozsvítila. Kvůli zkrácení kabelu jsem dokonce upravoval i krabičku, ale stálo to za to. Stejný problém jsem řešil na dvou klonech a v obou případech krátký kabel pomohl. Když je to pomalé, špatně to reaguje třeba na zastavení programu, je to celkově nestabilní, vybíhají chyby a svítí busy nebo nedej bože blikne červená ERROR, tak zkrať ICD kabel na minimum. Tedy maximálně na 15cm. To byl jediný vážný problém, který jsem řešil. Na to je ICD2 velmi citlivé. Nejde debugging 16F88 / ICD2 při 20MHz
Podle doporučení Microchip jsem kabel udělal z jednotlivých vodičů.

Pro potyo doporučuji tyto úpravy, pokud jsi je ještě neudělal:

  1. Na pin 1RA4 obvodu 16F877A připojit pullup rezistor cca 4k7 do Ucc
  2. Na piny 11,12 obvodu IC1 připojit společný pullup rezistor cca 4k7
    do Ucc
  3. Na napájení konektoru USB zapojit bipolární transil 5V6
  4. Do napájecího pinu 14 IC3 74HC126 vložit přiměřenou diodu třeba 1N5817
  5. Všechny omezovací rezistry pro LED zvětšit 3x
  6. LED1 neumísťovat na panel, možná pouze na plošný spoj pro
    diagnostiku, ještě jsem ji neviděl svítit.
  7. Použít obvod 16F877A
    kabel.JPG