View previous topic :: View next topic |
Author |
Message |
hmmpic
Joined: 09 Mar 2010 Posts: 314 Location: Denmark
|
ICD_64 problem with PIC 16F1825 CLK and Data is not high-Z |
Posted: Thu Mar 08, 2018 12:49 pm |
|
|
*This is re-posted from ICD thread, sorry for the that, no one see it, i think...-Please don't comment or suggest nice things, only comment if you have done the test and have a result!
ICD_64 problem with PIC 16F1825 (The pin CLK and Data is not free (High_Z) to be used after programming.)
Maybe other chip have same problem, in this case i have only used a 16F1825.
*All testing are done with a clean 16f1825 and a voltmeter.
*All are compiled and run from inside the PCW.
*PCW ver. 5.066
*CCS_LOAD ver. 5.045
*ICD_64 ver.: Rev 2 - fw.: 3.25
*The pin CLK and Data is not free to be used after programming.
*No debug fuses or ICD fuses!!!
This complete test function is used to show the problem.
Code: | //Copy my small programm and insert it all in a empty main.c. Load and compile and then program from inside PCW.
#include "16f1825.h"
//nothing else is configured! Fuses will be what CCS deside.
/*
Configuration Fuses from .lst file:
Word 1: 3FC4 INTRC_IO NOWDT PUT MCLR NOPROTECT NOCPD BROWNOUT NOCLKOUT IESO FCMEN
Word 2: 1EFF NOWRT PLL_SW STVREN BORV19 NODEBUG NOLVP
*/
#use delay(clock=8M,int)
/*Connect scope or V-Meter to pin a0 and a1.*/
void T_ICD64(){
while (1){
output_low(pin_a0);
output_low(pin_a1);
delay_ms(3000);
output_high(pin_a0);
output_high(pin_a1);
delay_ms(3000);
}
}
void main()
{
T_ICD64();
}
//EOT |
Testing:
*Connect a Volt meter (or scope) to pin a0 and a1.
*Compile and program form inside PCW. Maybe one of the pin can show 0,4 Volt, but most cases none of pin a0 or a1 will move, they are held low from ICD_64.
*If removing the two connections (Data and Clk) from ICD to the proto all is working!
*(I have done a lot of testing on this. Sometime when using the CCS_Load It may behave differently, but it does not go High-Z)
---Hope someone with a ICD_64 Rev 2 and a PCW and a PIC will do the test...
|
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Thu Mar 08, 2018 2:46 pm |
|
|
Why do you expect the lines to be high impedance?.
If the unit is used as a debugger, the lines cannot be used for anything else.
If used as a programmer then you would normally disconnect before running, or the MCLR connection in particular can mislead as to how the unit actually runs.
I've got five different PIC debugger/programmers here. Only two of them leave the lines high impedance. The others all require disconnection if you want to use the programming lines. |
|
|
hmmpic
Joined: 09 Mar 2010 Posts: 314 Location: Denmark
|
|
Posted: Thu Mar 08, 2018 3:44 pm |
|
|
You have 5 ICD_64.
2 of them work as high-z (floating CLK and DATA after programming) and 3 must be disconnected, right?
What is the difference between them?
--I have 3 ICD_64 all Revision_2 and all is blocking on CLK and DATA after programming just as described. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Fri Mar 09, 2018 3:13 am |
|
|
No, 5 _different_ types of programmer/debugger.
Actually six (just went and counted).
ICD2, ICD3, Mach-X, ICD-U40, ICD-U64, ICD-U80.
Only the Mach-X, and the ICD2 tri-state the lines. You can run the chip but not use the ICD lines, except for programming, unless you unplug the unit on all the others. |
|
|
hmmpic
Joined: 09 Mar 2010 Posts: 314 Location: Denmark
|
|
Posted: Fri Mar 09, 2018 6:45 am |
|
|
Thanks for informing. Then it is not only my ICD_64 there do it. |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19515
|
|
Posted: Fri Mar 09, 2018 6:59 am |
|
|
Exactly. |
|
|
|