Página 1 de 1

expert no MIkroC nokia3310 + rc5

MensagemEnviado: 24 Jan 2010 18:56
por cristian
alguem pode me explicar pq nao dar certo este comando

Código: Selecionar todos
char last_rx;
unsigned short comando,sistema;
char dado[5];

bytetostr(comando,dado);
gotoxy(0,1);
sendstr("cmd=");
sendstr(dado);// este comando na vai da :
101 383 Illegal pointer conversion cb.c



a lib da nokia3310

Código: Selecionar todos
#define SCK PORTb.F3
#define SDI PORTb.F4
#define D_C PORTb.F5
#define SCE PORTb.F6
#define RES PORTb.F7

//#define num_of_points 64 // Number of points to plot in a graph.

void initlcd(void); // Initializes the LCD.
void sendcmd(char); // Writes a command.
void senddata(char); // Writes data to DDRAM to illuminate the pixels.
void cleanram(void); // Erase the DDRAM contents.
void gotoxy(char,char); // Position cursor to x,y.
void sendchar(char); // Write one character.
void sendstr(const char *); // Writes a string of characters.
void sendpack(char);


const char table[480] = { 0x00,0x00,0x00,0x00,0x00, // 20 space ASCII table for NOKIA LCD: 96 rows * 5 bytes= 480 bytes
0x00,0x00,0x5f,0x00,0x00, // 21 ! Note that this is the same set of codes for character you
0x00,0x07,0x00,0x07,0x00, // 22 " would find on a HD44780 based character LCD. Smile
0x14,0x7f,0x14,0x7f,0x14, // 23 # Also, given the size of the LCD (84 pixels by 48 pixels),
0x24,0x2a,0x7f,0x2a,0x12, // 24 $ the maximum number of characters per row is only 14. Smile
0x23,0x13,0x08,0x64,0x62, // 25 %
0x36,0x49,0x55,0x22,0x50, // 26 &
0x00,0x05,0x03,0x00,0x00, // 27 '
0x00,0x1c,0x22,0x41,0x00, // 28 (
0x00,0x41,0x22,0x1c,0x00, // 29 )
0x14,0x08,0x3e,0x08,0x14, // 2a *
0x08,0x08,0x3e,0x08,0x08, // 2b +
0x00,0x50,0x30,0x00,0x00, // 2c ,
0x08,0x08,0x08,0x08,0x08, // 2d -
0x00,0x60,0x60,0x00,0x00, // 2e .
0x20,0x10,0x08,0x04,0x02, // 2f /
0x3e,0x51,0x49,0x45,0x3e, // 30 0
0x00,0x42,0x7f,0x40,0x00, // 31 1
0x42,0x61,0x51,0x49,0x46, // 32 2
0x21,0x41,0x45,0x4b,0x31, // 33 3
0x18,0x14,0x12,0x7f,0x10, // 34 4
0x27,0x45,0x45,0x45,0x39, // 35 5
0x3c,0x4a,0x49,0x49,0x30, // 36 6
0x01,0x71,0x09,0x05,0x03, // 37 7
0x36,0x49,0x49,0x49,0x36, // 38 8
0x06,0x49,0x49,0x29,0x1e, // 39 9
0x00,0x36,0x36,0x00,0x00, // 3a :
0x00,0x56,0x36,0x00,0x00, // 3b ;
0x08,0x14,0x22,0x41,0x00, // 3c <
0x14,0x14,0x14,0x14,0x14, // 3d =
0x00,0x41,0x22,0x14,0x08, // 3e >
0x02,0x01,0x51,0x09,0x06, // 3f ?
0x32,0x49,0x79,0x41,0x3e, // 40 @
0x7e,0x11,0x11,0x11,0x7e, // 41 A
0x7f,0x49,0x49,0x49,0x36, // 42 B
0x3e,0x41,0x41,0x41,0x22, // 43 C
0x7f,0x41,0x41,0x22,0x1c, // 44 D
0x7f,0x49,0x49,0x49,0x41, // 45 E
0x7f,0x09,0x09,0x09,0x01, // 46 F
0x3e,0x41,0x49,0x49,0x7a, // 47 G
0x7f,0x08,0x08,0x08,0x7f, // 48 H
0x00,0x41,0x7f,0x41,0x00, // 49 I
0x20,0x40,0x41,0x3f,0x01, // 4a J
0x7f,0x08,0x14,0x22,0x41, // 4b K
0x7f,0x40,0x40,0x40,0x40, // 4c L
0x7f,0x02,0x0c,0x02,0x7f, // 4d M
0x7f,0x04,0x08,0x10,0x7f, // 4e N
0x3e,0x41,0x41,0x41,0x3e, // 4f O
0x7f,0x09,0x09,0x09,0x06, // 50 P
0x3e,0x41,0x51,0x21,0x5e, // 51 Q
0x7f,0x09,0x19,0x29,0x46, // 52 R
0x46,0x49,0x49,0x49,0x31, // 53 S
0x01,0x01,0x7f,0x01,0x01, // 54 T
0x3f,0x40,0x40,0x40,0x3f, // 55 U
0x1f,0x20,0x40,0x20,0x1f, // 56 V
0x3f,0x40,0x38,0x40,0x3f, // 57 W
0x63,0x14,0x08,0x14,0x63, // 58 X
0x07,0x08,0x70,0x08,0x07, // 59 Y
0x61,0x51,0x49,0x45,0x43, // 5a Z
0x00,0x7f,0x41,0x41,0x00, // 5b [
0x02,0x04,0x08,0x10,0x20, // 5c Yen Currency Sign
0x00,0x41,0x41,0x7f,0x00, // 5d ]
0x04,0x02,0x01,0x02,0x04, // 5e ^
0x40,0x40,0x40,0x40,0x40, // 5f _
0x00,0x01,0x02,0x04,0x00, // 60 `
0x20,0x54,0x54,0x54,0x78, // 61 a
0x7f,0x48,0x44,0x44,0x38, // 62 b
0x38,0x44,0x44,0x44,0x20, // 63 c
0x38,0x44,0x44,0x48,0x7f, // 64 d
0x38,0x54,0x54,0x54,0x18, // 65 e
0x08,0x7e,0x09,0x01,0x02, // 66 f
0x0c,0x52,0x52,0x52,0x3e, // 67 g
0x7f,0x08,0x04,0x04,0x78, // 68 h
0x00,0x44,0x7d,0x40,0x00, // 69 i
0x20,0x40,0x44,0x3d,0x00, // 6a j
0x7f,0x10,0x28,0x44,0x00, // 6b k
0x00,0x41,0x7f,0x40,0x00, // 6c l
0x7c,0x04,0x18,0x04,0x78, // 6d m
0x7c,0x08,0x04,0x04,0x78, // 6e n
0x38,0x44,0x44,0x44,0x38, // 6f o
0x7c,0x14,0x14,0x14,0x08, // 70 p
0x08,0x14,0x14,0x18,0x7c, // 71 q
0x7c,0x08,0x04,0x04,0x08, // 72 r
0x48,0x54,0x54,0x54,0x20, // 73 s
0x04,0x3f,0x44,0x40,0x20, // 74 t
0x3c,0x40,0x40,0x20,0x7c, // 75 u
0x1c,0x20,0x40,0x20,0x1c, // 76 v
0x3c,0x40,0x30,0x40,0x3c, // 77 w
0x44,0x28,0x10,0x28,0x44, // 78 x
0x0c,0x50,0x50,0x50,0x3c, // 79 y
0x44,0x64,0x54,0x4c,0x44, // 7a z
0x00,0x08,0x36,0x41,0x00, // 7b <
0x00,0x00,0x7f,0x00,0x00, // 7c |
0x00,0x41,0x36,0x08,0x00, // 7d >
0x10,0x08,0x08,0x10,0x08, // 7e Right Arrow ->
0x78,0x46,0x41,0x46,0x78}; // 7f Left Arrow <-


void initlcd()
{
RES =1;
SCE =1;
RES =0;
Delay_ms(10);
RES=1; /// come out of lcd state

sendcmd(0x21);
sendcmd(0xC2);
sendcmd(0x13);
sendcmd(0x20);
sendcmd(0x09);
cleanram();
sendcmd(0x08);
sendcmd(0x0C);
gotoxy(0,0);
}

void sendcmd(char x)
{
D_C= 0;
SCE=0;
sendpack(x);
SCE=1; //deselect the display
return;
}

void senddata(char x)
{
D_C= 1;
SCE=0;
sendpack(x);
SCE=1; //deselect the display
}


void cleanram()
{int i;
gotoxy(0,0);
for(i=504;i>0;i--)
senddata(0x00);
}

void gotoxy( char x, char y)
{ sendcmd(0x40|(y&0x07));
sendcmd(0x80|(x&0x7f));
}

void sendchar(char x)
{ int a,b;
char c;
if((x<0x20)||(x>0x7f))
return;
a=((5*x)-160);
for(b=5;b>0;b--)
{ c=table[a];
senddata(c);
a++;
}
senddata(0x00);
}

void sendstr(const char *s)
{
while(*s)
sendchar(*s++);
}

void sendpack(char x)
{ int i;
for(i=0;i<8;i++)
{ SCK=0;
if ((x&0x80)==0x80)
SDI=1;
else
SDI=0;
SCK=1;
x=x<<1;
}
}


estou usando MikroC 3.2

este compilador nao foi feito pra mim ...nunca, nunca ,nunca, consegui terminar um projeto com ele.......

Código: Selecionar todos

MensagemEnviado: 24 Jan 2010 19:07
por fabim
sendstring = envia uma string, ou seja um array de bytes.
Você só indicou um nome...
E dai o que tem esse nome ?
101 383 Illegal pointer conversion cb.c

POINTER CONVERSION !!!
PONTEIRO ESPERA O QUE ? do que ?

Abraços

MensagemEnviado: 24 Jan 2010 20:44
por cristian
me da o peixe como seria ?

ja tentei

sendstr(&dado);
sendstr(dado[2]);

e nada ..este comando so envia string do tipo"dada" nao envia uma string num variavel

MensagemEnviado: 24 Jan 2010 21:22
por cristian
resolvido ....huhuahhahauhuahua

o erro tava aqui

void sendstr(const char *s)

tira const e coloca unsigned

off-topic
fabio

estou o dia todo tentando fazer o codigo para controle remoto na norma RC5, me ajuda ai to usando un controle da lg lcd e um controle de CAr Mp3 este ultimo ´q ue quero decodificar nao sei se ele usa a norma rc5 queria uma forma de decodificar, ajuda ai

MensagemEnviado: 24 Jan 2010 22:04
por fabim
cara uma vez eu participei dum projetinho para radios pionner.
A pionner e outros radios automotivos, e residenciais, de alguns anos para cá, vem usando muito o RC6.
O RC6, nunca parei para raciocinar o porque, consegue distancia muito maior, e é muito mais facil e garantido de se montar um decodificador dedicado..
Sóporisso.

RC6, tem muita coisa na net, em asm, C, basic, pascal.
Como eu nunca precisei mexer com isso, apenas pra brincadeira, vou ficar te devendo.!!

Abraços