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

2nd printf is never run in simulator?

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








2nd printf is never run in simulator?
PostPosted: Wed Sep 22, 2004 7:12 pm     Reply with quote

why does my program stop before the 2nd printf in the simulator?
reply to [email protected]
Code:
#include "C:\Documents and Settings\scott\Desktop\test.h"
  #include <stdio.h>
#int_AD
AD_isr()
{

}

int1 i = 0;


void main()
{

   port_b_pullups(TRUE);
   setup_adc_ports(RA0_ANALOG);
   setup_adc(ADC_CLOCK_DIV_32);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_AD);
   enable_interrupts(global);


while(1)
{

i=1;
delay_ms(10);
output_high(PIN_B7);
delay_ms(1000);
output_low(PIN_B7);
delay_ms(10);
printf("hi");
printf("BYE");
printf("2 BYE");

}
}
dyeatman



Joined: 06 Sep 2003
Posts: 1933
Location: Norman, OK

View user's profile Send private message

This needs to be addressed to Microchip
PostPosted: Wed Sep 22, 2004 8:10 pm     Reply with quote

Josh,
You need to address all these questions about problems in MPLAB to the Microchip forum, not here..

CCS has on more then one occasion made it clear that they make no guarantees about supporting CCS C in MPLAB. Any interface CCS provides is a courtesy and CCS cannot be expected to provide support for a Microchip product especially a free one. They sell their own IDE and debugger that works very well with the CCS compiler.
Haplo



Joined: 06 Sep 2003
Posts: 659
Location: Sydney, Australia

View user's profile Send private message

PostPosted: Wed Sep 22, 2004 8:23 pm     Reply with quote

dyeatman is correct, you'll probably get a much better response in Microchip forums.

But as a general rule of thumb, never step into/over delay and RS232 statements. Either set a breakpoint on the next line after them and run the code, or go to the next line and right-click, then choose 'Run to here'.
Guest








I am asking about that because ccs does not have a simulator
PostPosted: Wed Sep 22, 2004 8:52 pm     Reply with quote

I am asking about that because ccs does not have a simulator. I do not have a ICD
Mark



Joined: 07 Sep 2003
Posts: 2838
Location: Atlanta, GA

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

PostPosted: Wed Sep 22, 2004 10:17 pm     Reply with quote

Is that the whole program? No device? No #use rs232? No clock speed? Fuses? Look at the CCS example files to see how to setup a C file.
Guest








Ok The device information I used was created by the wizard
PostPosted: Fri Sep 24, 2004 9:34 am     Reply with quote

Ok The device information I used was created by the wizard. I will post it when I get home. I know the wizard does not put in NOWDT when you turn the box off so I was wondering if it left somehting nessisary out.
Guest








here is what I had and it wont step through the printf
PostPosted: Fri Sep 24, 2004 9:41 pm     Reply with quote

here is what I had and it wont step through the printf

Code:
#define START   PIN_B0
#define SIN   PIN_B1
#define LOAD   PIN_B2
#define RESET   PIN_B3
#define XCK   PIN_B4
#define READ   PIN_B5



const char maskData = 0b10000000;  //mask out the last bit to be shifted in data
const char maskAdr = 0b00000100;  //mask out the last bit to be shifted in adr


void setDefalts(void)
{
//SET DEFALTS
   output_low(START);  //start=low
   output_low(SIN);  //sin.data=low
   output_low(LOAD);  //load=low
   output_high(RESET); //reset=high
   output_low(XCK);  //Xck=low
}


void resetCam(void)
{
   output_low(RESET);     //pull reset low
   output_high(XCK);    //pull Xck high
   output_high(RESET);    //pull reset high
   output_low(XCK);     //pull Xck low
}

void resetCamDelay(void)//same as reset camera except delays so you can see it.
{
   delay_ms(1000);
   output_low(RESET);     //pull reset low
   delay_ms(1000);
   output_high(XCK);    //pull Xck high
   delay_ms(1000);
   output_high(RESET);    //pull reset high
   delay_ms(1000);
   output_low(XCK);     //pull Xck low
   delay_ms(1000);
}



void loadReg(char reg)
{
   output_bit(SIN,reg & maskAdr);   //mask first bit of the adress and output
   output_high(XCK);                //clock data in
   output_low(XCK);

   reg=reg<<1;                         //shift left
   output_bit(SIN,reg & maskAdr);   //mask first bit of the adress and output
   output_high(XCK);                //clock data in
   output_low(XCK);

   reg=reg<<1;                         //shift left
   output_bit(SIN,reg & maskAdr);   //mask first bit of the adress and output
   output_high(XCK);                //clock data in
   output_low(XCK);
}


void loadData(char data)
{
   output_bit(SIN,data & maskData);    //mask first bit of the data and output
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);      //output 2nd bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);      //output 3rd bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);      //output fourth bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);      //output fifth bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);      //output 6th bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);    //output 7th bit
   output_high(XCK);                   //clock data in
   output_low(XCK);
   data=data<<1;                            //shift left
   output_bit(SIN,data & maskData);    //output 8th bit
   output_high(XCK);                   //clock data in
   output_high(LOAD);                   //load register
   output_low(XCK);
   output_low(LOAD);
}

void startCam(void)
{//START SEQUENCE
   output_high(START);    //pull start up
   output_high(XCK);    //pull clock up
   output_low(START);     //pull start low
   output_low(XCK);     //pull clock low
}


Code:
#include <16F877A.h>
#device adc=8
#use delay(clock=20000000)
#fuses HS, NOWDT, NOLVP, BROWNOUT//never trust the wizard gizmo
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#USE DYNAMIC_MEMORY//this could gain memory back after the function is over.
#include "C:\WINDOWS\Desktop\camera\GBCamera.h"
#ZERO_RAM

#int_AD
AD_isr()
{

}



void main()
{
int i= 1;


   port_b_pullups(TRUE);
   setup_adc_ports(RA0_ANALOG);
   setup_adc(ADC_CLOCK_DIV_32);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   enable_interrupts(INT_AD);
   enable_interrupts(global);

while(TRUE)
{

setDefalts();
resetCam();

loadReg(0);
loadData(128);

loadReg(1);
loadData(6);

loadReg(2);
loadData(1);

loadReg(3);
loadData(85);

loadReg(4);
loadData(1);

loadReg(5);
loadData(0);

loadReg(6);
loadData(0);

loadReg(7);
loadData(33);



startCam();
printf("lets hope this works");
while(0==input(READ)); //ENDLESS LOUP TILL READ GOES HIGH


}//END OF ENDLESS LOOP

}//END OF MAIN
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