|
|
View previous topic :: View next topic |
Author |
Message |
P51D
Joined: 25 Jan 2010 Posts: 36
|
dsPIC30 RAM-use Problems |
Posted: Mon Feb 08, 2010 4:53 am |
|
|
Hello all
I've some interessting problems with the ram-pointer and usage.
if I execute only the main parts, it works. Then I try to add some big arrays:
Code: |
int8 delay[600]={...};
int16 dac1[600]={...};
int16 dac2[600]={...}:
|
Now works only the half of the program. An LCD-output function shows nothing on the lcd and the dac have also not every value.
For example:
Code: |
DAC_output(dac1[p] | (1<<12) | (1<<13));
1_DAC_select;
deselect;
DAC_output(dac2[p] | (1<<12) | (1<<13));
2_DAC_select;
deselect;
if(p == 150) p = 0;
else p ++;
|
The dac has array values from place 0 to ~350 and not 0,1,2,3,4....
it seems like 0,3,4,6,9,...
What is the problem?
The fuses are this way:
Code: |
#device DSPIC30F6012A *=16 //16Bit Ram Pointer
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz)
#FUSES PR //Promiary Oscillator
#FUSES NOCKSFSM //Clock Switching is disabled, fail Safe clock monitor is disabled
#FUSES WPSB1 //Watch Dog Timer PreScalar B 1:1
#FUSES WPSA1 //Watch Dog Timer PreScalar A 1:1
#FUSES PUT64 //Power On Reset Timer value 64ms
#FUSES BROWNOUT //Reset when brownout detected
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES LPOL_HIGH //Low-Side Transistors Polarity is Active-High (PWM 0,2,4 and 6)
//PWM module low side output pins have active high output polar
#FUSES HPOL_HIGH //High-Side Transistors Polarity is Active-High (PWM 1,3,5 and 7)
//PWM module high side output pins have active high output polarity
#FUSES NOPWMPIN //PWM outputs drive active state upon Reset
#FUSES MCLR //Master Clear pin enabled
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOCOE //Device will reset into operational mode
#FUSES ICS0 //ICD communication channel 0
#FUSES RESERVED //Used to set the reserved FUSE bits
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=20000000)
|
Thanks for answering.
best regards
P51D |
|
|
HYDERABADII
Joined: 26 Mar 2010 Posts: 1
|
dispic30f6012a configuration settings problem |
Posted: Fri Mar 26, 2010 3:52 am |
|
|
Hello sir,
I'm using dspic30f6012a with your CCS pcwhd v4.093. This one worked well for 16f877a but with dspic30f6012a it is not showing any output. Here is the code.
I want to run this code with fast RC oscillator.
Code: |
#include <30F6012a.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES FRC //Primary Oscillator with PLL
#FUSES NOCKSFSM //Clock Switching is disabled, fail Safe clock monitor is disabled
#FUSES WPSB1 //Watch Dog Timer PreScalar B 1:1
#FUSES WPSA1 //Watch Dog Timer PreScalar A 1:1
#FUSES PUT4 //Power On Reset Timer value 4ms
#FUSES NOBROWNOUT //No Brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES LPOL_HIGH //Low-Side Transistors Polarity is Active-High (PWM 0,2,4 and 6)
#FUSES HPOL_HIGH //High-Side Transistors Polarity is Active-High (PWM 1,3,5 and 7)
#FUSES NOPWMPIN //PWM outputs drive active state upon Reset
#FUSES NOMCLR //Master Clear pin used for I/O
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOWRT //Program memory not write protected
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOCOE //Device will reset into operational mode
//#FUSES ICS0 //ICD communication channel 0
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=7.37MHZ)
void main(void)
{
OUTPUT_B(PIN_B0|PIN_B1);
OUTPUT_F(PIN_F4 | PIN_F5);
SET_TRIS_b(PIN_B0|PIN_B1);
SETUP_ADC_PORTS(NO_ANALOGS);
while (true)
{
OUTPUT_LOW(PIN_B1);
OUTPUT_LOW(PIN_B0);
OUTPUT_LOW(PIN_F4);
OUTPUT_LOW(PIN_F5);
delay_ms(100);
OUTPUT_HIGH(PIN_B1);
OUTPUT_HIGH(PIN_B0);
OUTPUT_HIGH(PIN_F4);
OUTPUT_HIGH(PIN_F5);
delay_ms(100);
}
}
|
Plzz reply me as early as possible.
Thank you. |
|
|
FvM
Joined: 27 Aug 2008 Posts: 2337 Location: Germany
|
|
Posted: Fri Mar 26, 2010 6:09 am |
|
|
I don't see a problem with V4.093 and your code. It's working with MPLAB, thus I expect a hardware problem. |
|
|
|
|
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
|