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

CCS C 5.015 dsPIC33FJ128GP802 DO NOT WORK

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
z1rqdym



Joined: 14 Dec 2014
Posts: 24

View user's profile Send private message Send e-mail MSN Messenger

CCS C 5.015 dsPIC33FJ128GP802 DO NOT WORK
PostPosted: Thu Jun 04, 2015 7:44 pm     Reply with quote

Code:
#include <33FJ128GP802.h>

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOBSS                    //No boot segment
#FUSES NORBS                    //No Boot RAM defined
#FUSES NOWRTSS                  //Secure segment not write protected
#FUSES NOSSS                    //No secure segment
#FUSES NORSS                    //No secure segment RAM
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOOSCIO
#FUSES HS
#FUSES PR_PLL
#FUSES NOPROTECT                //Code not protected from reading
#FUSES IESO                     //Internal External Switch Over mode enabled
#FUSES NOOSCIO                  //OSC2 is clock output
#FUSES IOL1WAY                  //Allows only one reconfiguration of peripheral pins
#FUSES CKSFSM                   //Clock Switching is enabled, fail Safe clock monitor is enabled
#FUSES WINDIS                   //Watch Dog Timer in non-Window mode
#FUSES PUT128                   //Power On Reset Timer value 128ms
#FUSES NOALTI2C1                //I2C1 mapped to SDA1/SCL1 pins
#FUSES NOJTAG                   //JTAG disabled

#device ICSP=1
#use delay(clock=80MHz,crystal=20MHz)

#define LED PIN_A4
#define DELAY 10



void main()
{
   //Example blinking LED program
   while(true)
   {
      output_low(LED);
      delay_ms(DELAY);
      output_high(LED);
      delay_ms(DELAY);
   }

}


This is a simple LED blinking program.

But it doesn't work.

I write the hex file with Brenner8p-rev5 pic programmer. They give me 21error in hex files and give me an error FPOR too.

What's the matter?

I tried external and internal osc but it doesn't work.

Any ideas?

I used between Vdd-Vss and AVdd-AVss 100nF Ceramic capacitor. In Vcap I used 10uF 16V Electrolytic capacitor ( i know it must be a tantalum one.)
jeremiah



Joined: 20 Jul 2010
Posts: 1351

View user's profile Send private message

PostPosted: Thu Jun 04, 2015 8:53 pm     Reply with quote

On a lot of chips in that family, the A4 pin is one of the secondary oscillator pins (SOSCO usually). On many chips, this has to be disabled and set to digital by either a FUSE or an oscillator configuration option.

Try a different pin, one of the port B pins maybe. Something without a crazy peripheral. That'll help identify if the SOSC module is preventing you from using A4 or if it is something more sinister.

Also note that is an early more beta version of the compiler, so that might be part of the problem.
z1rqdym



Joined: 14 Dec 2014
Posts: 24

View user's profile Send private message Send e-mail MSN Messenger

PostPosted: Thu Jun 04, 2015 8:54 pm     Reply with quote

I tried some things like that;

i changed the

#use delay(clock=80mhz, crystal=10mhz)

to

#use delay(clock=10mhz, crystal=10mhz)

the #FUSES HS, PR_PLL are the same

with this it works.

so i do not thought thats the problem from SOCSO pin.

but i need to configure the pic with PLL upto 80MHz but i have no idea how could i do this

When I increase the clock like 20mhz then the dsPIC make trouble.
z1rqdym



Joined: 14 Dec 2014
Posts: 24

View user's profile Send private message Send e-mail MSN Messenger

PostPosted: Fri Jun 05, 2015 12:48 am     Reply with quote

I just want to know the code wich do; 10Mhz external crystal to with PLL up to 80MHz to use at 40MIPS that dsPIC33FJ128GP802.

i tried many things, i lost my brain but i can not find any solutions.

on my circuit there is a 10MHz Crystal 2 pear of 15pF capacitor.

that dsPIC works fine with his own crystal/internal frequency. but that doesnt makes different between 18F or 16F pic series.

i should that dsPIC use with 40MIPS/80MHz with 10MHz crystal.

please i need to help of them.
Ttelmah



Joined: 11 Mar 2010
Posts: 19524

View user's profile Send private message

PostPosted: Fri Jun 05, 2015 1:07 am     Reply with quote

If you are getting an error when you program, you need to go to the forum for the programmer and find out what this means. The 'odds' are the chip is not actually programmed properly, and it isn't going to run until it is......

First, test using another pin. Something where the pin I/O function, is the highest priority function, like A0. If this works, then you know you are actually programming the chip OK, so can now look for a problem on the pin you are trying to use. Try turning off the parallel master port. This pin has two things 'higher priority' than the I/O functions. The first the secondary oscillator, the second the PMP. The configuration you show should be turning off the SOSC, but the PMP does wake up enabled in many cases.
z1rqdym



Joined: 14 Dec 2014
Posts: 24

View user's profile Send private message Send e-mail MSN Messenger

PostPosted: Fri Jun 05, 2015 10:08 am     Reply with quote

I don't know what am I do or what's happend but at now it works perfectly with these Fuses

Code:

#include <33FJ128GP802.h>

#device ICSP=1

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOWRTB                   //Boot block not write protected
#FUSES NOBSS                    //No boot segment
#FUSES NORBS                    //No Boot RAM defined
#FUSES NOWRTSS                  //Secure segment not write protected
#FUSES NOSSS                    //No secure segment
#FUSES NORSS                    //No secure segment RAM
#FUSES NOWRT                    //Program memory not write protected
#FUSES NOOSCIO                  //OSC1 and OSC2 pins are configured to Fin
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NOIESO                   //Internal External Switch Over mode enabled
#FUSES NOOSCIO                  //OSC2 is clock output
#FUSES IOL1WAY                  //Allows only one reconfiguration of peripheral pins
#FUSES CKSFSM                   //Clock Switching is enabled, fail Safe clock monitor is enabled
#FUSES WINDIS                   //Watch Dog Timer in non-Window mode
#FUSES PUT128                   //Power On Reset Timer value 128ms
#FUSES NOALTI2C1                //I2C1 mapped to SDA1/SCL1 pins
#FUSES NOJTAG                   //JTAG disabled

#FUSES XT
#FUSES PR_PLL
#use delay(clock=80MHz,CRYSTAL=8MHz)


i read again and again and again the specification notes of the dsPIC from microchip.

Fin wich is my crystal frequance, that could be only 0.8-8MHz to use in PLL.

anyway
with HS PR_LL clock=80mhz crystal=10mhz it works.

with XT PR_LL clock=80mhz crystal=10mhz it works too.

for the datasheet it wont be able to work correct but ccs c does. why?

i worked bunch of hours to work that PLL but now i dont change anything but its work. why?

by the way... the problem is solved.

but i will know these why? that i ask above Smile
jeremiah



Joined: 20 Jul 2010
Posts: 1351

View user's profile Send private message

PostPosted: Fri Jun 05, 2015 10:36 am     Reply with quote

z1rqdym wrote:

i read again and again and again the specification notes of the dsPIC from microchip.

Fin wich is my crystal frequance, that could be only 0.8-8MHz to use in PLL.

anyway
with HS PR_LL clock=80mhz crystal=10mhz it works.

with XT PR_LL clock=80mhz crystal=10mhz it works too.

for the datasheet it wont be able to work correct but ccs c does. why?

i worked bunch of hours to work that PLL but now i dont change anything but its work. why?

by the way... the problem is solved.

but i will know these why? that i ask above Smile


Look at the datasheet again. the 0.8-8.0MHz is after the PREPLL block (see figure 9.2) which divides the incoming clock down before entering the rest of the PLL block.

The compiler is probably dividing the clock down in the PREPLL block so that it is between 0.8-8.0 MHz.
Ttelmah



Joined: 11 Mar 2010
Posts: 19524

View user's profile Send private message

PostPosted: Fri Jun 05, 2015 12:58 pm     Reply with quote

Yes.

It divides the 10MHz by 2, then multiplies it by 32, then divides by 2.

I checked before posting this pattern, that the fuses and registers are set correctly.

I'd suggest that the error you were getting from the programmer was it failing to set something in the fuses and making the larger change has forced it to do a full erase.
drolleman



Joined: 03 Feb 2011
Posts: 116

View user's profile Send private message

PostPosted: Fri Jun 05, 2015 1:55 pm     Reply with quote

start simple

intrc 7mhz no pll get the led flashing

intrc with pll get the led flashing


hs and no pll get the led flashing this makes sure your crystal works

now add pll and you will be at the freq you want.


trying to do too many steps at once makes the job a lot harder. guessing as to where the issues are. you may want to use the 32 kHz clock because of your cap not being tantalum. I've never tried to use an electrolytic.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
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