ELCouz
Joined: 18 Jul 2007 Posts: 427 Location: Montreal,Quebec
|
[SOLVED] Function used but not defined: get_int_usb |
Posted: Tue Sep 25, 2007 9:27 am |
|
|
Hi again ,,
after trying to compile my code using the get_int_usb function ,,, it return an error:
Code: |
>>> Warning 203 "C:\Program Files\PICC\drivers\pic18_usb.h" Line 504(1,1): Condition always TRUE
>>> Warning 203 "main.c" Line 56(1,1): Condition always TRUE
>>> Warning 203 "main.c" Line 66(1,1): Condition always TRUE
>>> Warning 203 "main.c" Line 160(1,1): Condition always TRUE
>>> Warning 203 "main.c" Line 182(1,1): Condition always TRUE
>>> Warning 202 "C:\Program Files\PICC\drivers\usb_desc_cdc.h" Line 154(16,37): Variable never used: USB_CLASS_DESCRIPTORS
*** Error 112 "main.c" Line 164(1,1): Function used but not defined: ... get_int_usb SCR=6161
1 Errors, 6 Warnings.
|
it's not the first time i had this error with get_int_usb ... last time i have avoided it using get_string_usb instead ,,, but now i cant !
Here's my code ... and there's a disclaimer coming with:
The code is not complete NOR near finished ,, lot of debugging still remain ... provided for example
Code: |
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use standard_io(A)
#include <usb_cdc.h>
#include <241025.c>
char string[4];
int8 choice;
char streeprom[101];
int32 address;
void receive()
{
Output_High(PIN_A5);
Delay_ms(200);
Output_Low(PIN_A5);
}
void read_eeprom_string(char * array, int32 address, int32 max_size)
{
int32 i=0;
*array=0;
while (i<max_size)
{
*array=read_eeprom(address+i);
if (*array == 0) {i=max_size;}
else {
array++;
*array=0;
}
i++;
}
}
void write_eeprom_string(char * array, int32 address, int32 max_size)
{
int32 i=0;
while (i<max_size) {
write_eeprom(address+i,*array);
if (*array == 0) {i=max_size;}
array++;
i++;
}
}
void writecmd()
{
printf(usb_cdc_putc,"\r\nADDRESS:");
while (1)
{
if (usb_cdc_kbhit())
{
receive();
address = get_int_usb();
break;
}
}
printf(usb_cdc_putc,"\r\nSTRING:");
while (1)
{
if (usb_cdc_kbhit())
{
receive();
get_string_usb(streeprom,101);
break;
}
}
write_eeprom_string(streeprom, address, 101);
}
void readcmd()
{
//add code
}
void rmodem()
{
Output_High(PIN_A0);
delay_ms(15000);
output_low(PIN_A0);
}
void rrouter()
{
if (!input(PIN_A2))
{
Output_High(PIN_A1); //Soft-Off 5Sec
delay_ms(5000);
Output_Low(PIN_A1);
delay_ms(5000);
Output_High(PIN_A1); //Press power 300ms
delay_ms(300);
Output_Low(PIN_A1);
}
else
{
Output_High(PIN_A1); //Press power 300ms
delay_ms(300);
Output_Low(PIN_A1);
}
}
void main(void) {
delay_ms(5000);
//set_tris_a(0x04); not working :(
Output_High(PIN_A3);
init_ext_eeprom();
usb_cdc_init();
usb_init();
while (TRUE)
{
usb_task();
if (usb_cdc_connected())
{
printf(usb_cdc_putc,"\r\n******************");
printf(usb_cdc_putc,"\r\n**FIRMWARE VERS.**");
printf(usb_cdc_putc,"\r\n***25/09/07 B00***");
printf(usb_cdc_putc,"\r\n******************\r\n");
break;
}
if (usb_cdc_kbhit())
{
receive();
get_string_usb(string,3);
if ((string[0] == '0') && (string[1] == '0')) //Reset Pic
{
usb_detach();
reset_cpu();
}
if ((string[0] == '*')) //TEST
{
printf(usb_cdc_putc,"\r\n******************");
printf(usb_cdc_putc,"\r\n****DEBUG MODE****");
printf(usb_cdc_putc,"\r\n******************");
printf(usb_cdc_putc,"\r\n*PRESS 1 TO WRITE*");
printf(usb_cdc_putc,"\r\n*PRESS 2 TO READ**");
printf(usb_cdc_putc,"\r\n******************\r\n");
while (1)
{
if (usb_cdc_kbhit())
{
receive();
choice = get_int_usb();
Switch (choice)
{
Case 1:
writecmd();
break;
Case 2:
readcmd();
break;
}
}
}
}
if (string[0] == '0' ) //Freeze Device(Shutdown)
{
while (1)
{
Output_Low(PIN_A3);
Delay_ms(500);
Output_High(PIN_A3);
Delay_ms(500);
}
}
if (string[0] == 'L' ) //Clear Reset LED
{
Output_Low(PIN_A4);
}
if (string[0] == 'M' ) //reboot the cable modem
{
Output_High(PIN_A4);
rmodem();
}
if ((string[0] == 'D') && (string[1] == 'M')) //Shutdown Modem
{
Output_High(PIN_A4);
Output_High(PIN_A0);
}
if ((string[0] == 'D') && (string[1] == 'M')) //Power Modem
{
Output_High(PIN_A4);
Output_Low(PIN_A0);
}
if (string[0] == 'R' ) //reboot the router
{
Output_High(PIN_A4);
rrouter();
}
if (string[0] == '9' ) //Reboot both Modem + Router
{
Output_High(PIN_A4);
rmodem();
rrouter();
}
}
}
}
|
Project Specs:
PIC18F2550 @ 12mhz XTAL
24AA1025 EEPROM
USB to RS232 CCS DEMO Driver
Vers. 4.049
i would just to resolve the get_int_usb problem please
Thank you!
Last edited by ELCouz on Tue Sep 25, 2007 9:39 am; edited 1 time in total |
|