CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

PIC18F14K50 - Port Pin B4 outputs High All the time.
Goto page 1, 2  Next
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 1:45 am     Reply with quote

Hi,
I have very basic code as below:-

#include <18F14K50.h>
#device ADC=10

#FUSES WDT //Watch Dog Timer
#FUSES WDT256 //Watch Dog Timer uses 1:256 Postscale
//#FUSES PLLEN
#FUSES BROWNOUT
#FUSES BORV19
//#FUSES INTRC
#FUSES MCLR



#use delay(internal=32MHz)
#use FIXED_IO( B_outputs=PIN_B6 )
//#use FAST_IO (B)
#use FIXED_IO( C_outputs=PIN_C5,PIN_C4 )


#define BATT_TEST_BUTTON PIN_A5
#define MAINS_IP PIN_B4
#define BATT_TEST_ON PIN_B6
#define BATT_OP PIN_C4
#define TEST_LED PIN_C5


In my main code, I have added below:-

port_a_pullups(0x20);
port_b_pullups(0x0);

The code compiles Ok, but Port Pin B4 outputs High all the time. The pin is pulled Low but because it outptus 5V, it can't be pulled Low. I tested it by removing the Pulled down resistor.

Also, I cannot debug with the compiler as well, as it keeps on showing me error that the oscillator settings are incorrect.

Can anyone help as to what could be the wrong?
_________________
MVadukul
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 2:12 am     Reply with quote

Honestly, you either have a damaged chip, or a wiring fault on your board.

On the debugger, how is MCLR pulled up?. That fault can be a sign that
you have too small a resistor on this pin and the debugger can't pull it
down correctly to work.
You also cannot debug with the watchdog enabled. The compiler should
warn you about this if you are compiling to debug.

What compiler version?. What debugger?. What debugging environment?.

Please Learn to use the code buttons!... Smile
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 2:23 am     Reply with quote

I have always compiled & debug with Watchdog and compiler whilst debugging, switches off the watchdog. I have used the compiler for so many micros and having trouble with this particular one.

MCLR is pulled up with 10K like all of other boards we have made.

I have tried disabling Watchdog by fuses as well but still the same result.

PCwHD 5.109.
ICD-U80 - 3.60.
_________________
MVadukul
temtronic



Joined: 01 Jul 2010
Posts: 9232
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 5:01 am     Reply with quote

comments..

this...
#define MAINS_IP PIN_B4
has me concerned !
How have you interfaced the 'mains' to the PIC pin ? If it's not isolated,say with an optocoupler, it's very,very easy to damage the PIC !!

re: WDT. Until the code is 100% complete and running, you shouldn't have the WDT enabled. Historically WDT has been a hardware 'failsafe', when the program 'hangs', the WDT resets the PIC. Typically the WDT is set for 2X the programs 'loop'. There's no need for it during design/coding/testing stages and can cause problems.
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 5:28 am     Reply with quote

10K is a lot smaller than recommended. Minimum recommended is 22K...
10K was the recommended value back in the ICD2 days. These were able
to drive a lower resistor.
The help for the ICD-U80 recommends 50K!.
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 5:29 am     Reply with quote

@tmtronic,
MAINS_IP is the low voltage input for the microprocessor and it does not get anything beyond 5V.

The hardware is fine as the old MPLAB Hi-Tech code for the board works correctly. I have disabled the WDT for the purposes of testing but I still cannot debug and the PIN B4 outputs 5V all the time. When I make the pin as Input it gives me 5V on the pin without anything connected. It indicates to me that somewhere internal pull up might be enabled, but I have ensured by writing below:-

port_b_pullups(0x0);
_________________
MVadukul
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 5:32 am     Reply with quote

Ttelmah wrote:
10K is a lot smaller than recommended. Minimum recommended is 22K...
10K was the recommended value back in the ICD2 days. These were able
to drive a lower resistor.
The help for the ICD-U80 recommends 50K!.


I can change it to 22K, however we have so many other boards with 10k and they can be debugged using ICD-U80 fine. But the fundamentally, the error I get is with oscillator settings during debugging. It can program the device correctly on normal set up, but my pin B4 stays high when I have set it up as input and it is being pulled low on the board.
_________________
MVadukul
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 7:36 am     Reply with quote

As I have already said, that has to be either a faulty chip, or an issue with
your board. Even if the output was driving high, it'd be under 5v with
a load. Take the chip out, and see what the pin is doing.
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 7:43 am     Reply with quote

Same board works well with the code which is old Hi-Tech compiler code for the hardware. That does work and I have converted the code into CCS compiler.
Then I stripped down the code to bare minimum to see the pins and I encountered this. I have about 5 boards and all of them have same issues, whereby the old code works correctly (MPLAB Hi-Tech) but the new code does not. I deducted the issue is in the software, but I do not see anything obvious as there is hardly anything to set other than port pin.
_________________
MVadukul
Ttelmah



Joined: 11 Mar 2010
Posts: 19529

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 7:49 am     Reply with quote

Show us the whole code used for test then. There is nothing in what you
post that would cause this.
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 7:56 am     Reply with quote

Download from below:-

https://file.io/CUKsblQ01uCQ[/url]
_________________
MVadukul
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Port Pin B4 outputs High All the time.
PostPosted: Mon Apr 29, 2024 8:32 am     Reply with quote

Thanks for the help.

Port Pint B4 is behaving correctly now. It seems that the Pull Down resistor is not soldered properly. i.e. intermittent, so when I pressed with multimeter, it worked so it was the bad luck that when I used the older code, it worked.

However, i still can't debug and keeps on stating oscillator issue.

The whole purpose of me debugging is, for me to know that what exact reading I get in my code for analogue input. But I can't debug.
_________________
MVadukul
mayur.k.vadukul



Joined: 07 Jul 2022
Posts: 40

View user's profile Send private message

PIC18F14K50 - Debugging with Internal Oscillator
PostPosted: Mon Apr 29, 2024 9:26 am     Reply with quote

Still the issue is with debugging the micro with internal oscillator enabled and CCS have confirmed that they have simulated the fault but do not know the solution. This indicates that this might be down to compiler.
_________________
MVadukul
newguy



Joined: 24 Jun 2004
Posts: 1908

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 9:46 am     Reply with quote

Ttelmah wrote:
10K is a lot smaller than recommended. Minimum recommended is 22K...
10K was the recommended value back in the ICD2 days. These were able
to drive a lower resistor.
The help for the ICD-U80 recommends 50K!.


I usually specify 4.7k for the /MCLR pullup and I've never had issues with an ICD-U64 nor with the couple ICE4 units we had.

Extreme electrical noise forced me to go with such a low PU resistor years ago. I've stuck with it since.
temtronic



Joined: 01 Jul 2010
Posts: 9232
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Mon Apr 29, 2024 10:51 am     Reply with quote

hmm... I recall some PICs cannot use the internal oscillator when run off the Pickit3. There's got to be a 'notice' about this somewhere....
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group