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

Help with fprintf and STDOUT

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



Joined: 06 Jan 2011
Posts: 2
Location: CHILE

View user's profile Send private message Visit poster's website MSN Messenger

Help with fprintf and STDOUT
PostPosted: Thu Jan 06, 2011 8:08 pm     Reply with quote

Hello,

I'm working in a code that uses two USART, one in SW and the another in HW. Everything was going smooth until the last build returned an error:
Quote:

*** Error 132 "C:\Microchip Solutions\Lauca Eth\A08001000MU\Main_C.c" Line 319(21,22): STDOUT not defined (may be missing #USE RS232) ::
1 Errors, 0 Warnings.

I'm looking if I make a mistake but my code is in the same state that the last debug session with the ports working. The #use rs232 are there and have this syntax:
Code:

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=Lauca,errors)
#use rs232(baud=9600,parity=N,xmit=PIN_B1,rcv=PIN_B0,bits=8,stream=RS485,errors)

Is this a failure of my IDE software (MPLAB & CCS) or there could be anything else?

Here are the main portions of my code:
Code:


//**********************
#OPT 9

#include <16F883.h>
#device *=16
#device adc=10

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES INTRC_IO                 //Internal RC Osc, no CLKOUT
#FUSES PUT                      //Power Up Timer
#FUSES NOMCLR                   //Master Clear pin enabled
#FUSES NOPROTECT                //Code protected from reading
#FUSES NOCPD                    //No EE protection
#FUSES NOBROWNOUT               //No Reset when brownout detected
#FUSES NOIESO                   //Internal External Switch Over mode disabled
#FUSES NOFCMEN                  //Fail-safe clock monitor disabled
#FUSES NOLVP                    //No low voltage prgming
#FUSES NODEBUG                  //No Debug mode for ICD

#use delay(clock=8000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8,stream=Lauca,errors)
#use rs232(baud=9600,parity=N,xmit=PIN_B1,rcv=PIN_B0,bits=8,stream=RS485,errors)

#use FAST_IO(C)
#use FAST_IO(B)
#use FAST_IO(A)

//****************************************************************
//Headers
#include <string.h>
#include <stdlib.h>
#include <A08.h>

....


void TXUsart()
{
   disable_interrupts(INT_RDA);
   fprintf(Lauca,"Hello");  //Test
   fputc(0x0A,Lauca);
   fputc(0x0D,Lauca);
   fputc(Trama_comm.NodoID[0],Lauca);
   fputc(Trama_comm.Comando[0],Lauca);
   fputc(Trama_comm.Puerto[0],Lauca);
   fputc(Trama_comm.DatoRCVL[0],Lauca);
   fputc(Trama_comm.DatoRCVH[0],Lauca);
   fputc(0x0A,Lauca);
   fputc(0x0D,Lauca);
   clear_interrupt(INT_RDA);
   disable_interrupts(INT_RDA);
}

Any help will be useful.

Thanks in advance
msilvar



Joined: 06 Jan 2011
Posts: 2
Location: CHILE

View user's profile Send private message Visit poster's website MSN Messenger

PostPosted: Thu Jan 06, 2011 8:20 pm     Reply with quote

Hey folks, I found the issue.

In a header I have defined three vars as follows:
Code:

//****************************************************************
//Port Mapping, Addresses and Commands

//#define Lauca      0x00         //Lauca Address
//#define HMI         0x0A      //HMI Address
//#define A08         0xFF      //A08 Address

#define ReadPort   1u         //Read Port
#define ReadData   2u         //Read Data
#define ReadStat   3u         //Read Status
#define ReadConf   4u         //Read Config

I've commented the first three and everything was solved. But the doubt is still there. Whats happened? What was my mistake? (I'm sorry if my question is idiot, but I'm not clear with what was the mistake).
gpsmikey



Joined: 16 Nov 2010
Posts: 588
Location: Kirkland, WA

View user's profile Send private message

PostPosted: Thu Jan 06, 2011 9:31 pm     Reply with quote

You can't have a stream name with the same name as something else - this came up recently, but I don't remember the exact context. (in this case, you named the stream "Lauca" but also had a #define for it as 0x00

mikey
_________________
mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3
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