sexta-feira, 30 de maio de 2008

Renesas Starter Kit R8C25/Tiny

Senhores, nem tudo em nossas vidas é mazelas, recentemente ao participar de uma lista de pics e demonstrar minha infelicidade pelos recursos e destinados pela Microchip e/ou qualidade dos compiladores C para a média plataforma (pics 16FXXX), apareceu um cara que me ofereceu seus produtos... a Renesas, uma empresa Japonesa fusão da Mitsubishi e da Hitachi.
Bom, após conversar por telefone com o vendedor por iniciativa dele, que ligou no meu escritório, (não vou identificá-lo para que não pentelhem ele) marquei uma conversa pessoalmente e ele veio me atender.
Fiquei absolutamente impressionado com a dedicação e profissionalismo do mesmo, que deixou comigo um Kit de desenvolvimento do Chip R8C25 (dê um pulo em www.renesas.com para maiores detalhes) para demonstração!
Bom ... infelizmente fiquei 3 dias sem poder por as mãos no bichinho, e somente consegui chegando em casa nesta sexta-feira à noite.
Bom o kit é esse:



E veio nessa caixinha bonitinha:


Com o kit acompanha um LCD 8x2 sem backlight, ligação de 4 pinos, software de programação, um compilador C/C++ para todos os MCUs da linha da Renesas e pasmem uma interface de gravação/debug denominada Renesas E8... basta trocar a placa de desenvolvimento que ela serve para qualquer micro da renesas, assim como o compilador... um tesão...

Bom as primeiras impressões foram muito positivas...

Mandei instalar o software, que correu rapidamente em poucos minutos, o compilador com tudo (eu mandei instalar tudinho!) é bem grandinho, mas me pareceu bem completo.

Mas como nem tudo são flores, após instalar os drivers e tudo que tenho direito do CD, tudo num só setup, o E8 não funcionou. Meu Windows Vista não reconhecia o danado.

Mandei fazer o AutoUpdate instalado pelo software. Esse demorou um pouquinho, mas aproveitei pra inaugurar minha banda larga de 1Mega ! ;-)

Após instalar tudo, minha placa E8 foi reconhecida pelo Windows... e ao rodar o HEW (o compilador) um monte de paus de permissão. Entrei no google e pasmem, o primeiro link era o que segue abaixo...

http://tool-support.renesas.com/eng/toolnews/070516/tn3.htm

SIM! os caras tem suporte do software/hardware para Windows Vista. FANTÁSTICO!

Bom ... iniciei o tutorial, segui os passos para rodar o mesmo, e rodou tudo bonitinho.

A velocidade de programação está setada em 512Kbps. Um canhão! Rápido pra kct...

Brinquei um pouco e rapidamente peguei as manhas de Debug, compilação, Start/Break da aplicação.

A impressão até agora é SUPER POSITIVA, acho que encontrei minha próxima plataforma.

Valeu Renesas ! Belo trabalho !

sexta-feira, 23 de maio de 2008

Iluminado ao CUBO !!!

Povo do meu Brasil varonil ...

Ultimamente ando direcionando minhas GASes para estes cubos de led ... tem uns bem legais ... já estou estudando o meu por aqui ... vamos ver quando é que sai ...
Penso eu em montar um de 8x8x8 Leds.... pode ser em Vermelho ou Azul ... acho que azul é mais DUCARALHO... mas preciso ver o que o bolso vai deixar... afinal são 512 LEds...

512 * R$ 0,25 = 128 mangos ...

128 mangos já é parte de uma fonte bancada ... estou juntando cada centavo pra comprar minha fonte da HP... digital ... um tesão ... mas isso é outra história ...

Mas voltando ao cubo ... será que eu consigo convencer algum fornecedor a me enviar isso como SAMPLE ??? huauahauahu acho que não ...

Bom enquanto não resolvo o meu problema LEDístico (e não tem nada haver com o Led Zepellin) ... aí vão uns links ducaralho pra vcs curtirem uns cubos...





CCSC e seus problemas ...

Pois é povo olha eu aqui de novo chorando minhas mazelas tecnológicas. Bons tempos aqueles em que a minha preocupação era programar algum joguinho no meu ido TRS-80 (na verdade era um Sysdata III) ... bons tempos aqueles...
Teve uma época insana que eu cheguei a fazer música com o relé do gravador K7 ... que viagem !!!
Bom ... agora fico aqui às avessas com meus programas para PIC ... recentemente eu tive uns conflitos insanos com o compilador... primeiro porquê ao utilizar a UART do PIC a mesma perdia algum tipo de handle e simplesmente parava de funcionar, o estranho é que o programa continuava rodando, e a serial simplesmente nao recebia nada ... só enviava... ainda estou envolto com este problema... acho que deve ser setup dos pinos do MC...
Agora realmente algo que me tirou do sério foi o problema de CAST com o Microcontrolador...

Vejam isto...

float a;
float b;
int c;

a=25;
c=10;
b=a*c;

Qual o valor em b?

Acreditem o cretino do compilador montava a rotina e resultava nos 8 bits mais significativos do resultado float.... mas retornava um int, apesar do resultador ser um float.

Como resolver?

b=a*(float)c;

Isso resolve... mas cá entre nós... EU NUNCA VI ISSO NA MINHA VIDA... o resultado que qualquer compilador colocaria seria um FLOAT e nao um INT num FLOAT...

BUG feio do pessoal da CCS...

sábado, 3 de maio de 2008

Mosaico MacLab2 - A ressurreição...

Senhores leitores,

Não sei quantos de vocês utilizam esta ferramenta, eu pessoalmente utilizo e gosto muito da minha MacLab2 como placa para desenvolvimento com PIC... tenho a minha há 3 anos no mínimo... no entanto certas coisas nela me irritam... como por exemplo alguns bugzinhos que aparecem aqui e ali, montagem porca... economia imbecil em peças de qualidade ...
Pois bem resolvi fazer uns mods na minha placa... cito eles a seguir:

1. Colocar um conector para poder trocar o LCD e utilizar LCD diferentes do 16x2 vagabundo que eles manda com a placa;
2. Tirar aquele maldito ressonador de 4Mhz e instalar dois ceramicos de 22pF e um soquete para cristal (essa foi a melhor coisa que eu fiz na placa até agora!);
3. Corrigir o bug do pullup no pino 6 da EEPROM externa, colocando um resistor de 10K entre os pinos 6 e 8 da EEPROM;
4. Colocão de um soquete ZIF de 40 pinos para facilitar a retirada inserção dos chips...

Pois bem .... hoje vou postar o meu terceiro mod, o da EEPROM...

Notem no esquema abaixo como vem de fábrica a EEPROM da MacLab2...


O correto seria conforme o esquema abaixo:



Bom é isso... assim que possível posto fotos e mais alguns detalhes sobre as MODs que eu ando fazendo...

Aqui segue um pequeno programinha para testar esta mod, em CCSC ...

#include <16f877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#use i2c(master, sda=PIN_C4, scl=PIN_C3)

void main() {
BYTE data;
data=0;
do {
printf("Writing...\n\r");
i2c_start();
printf("i2c_start();\n\r");
i2c_write((0xa0|(BYTE)(0x05>>7))&0xfe);
printf("i2c_write((0xa0|(BYTE)(0x05>>7))&0xfe);\n\r");
i2c_write(0x05);
printf("i2c_write(0x05);\n\r");
i2c_write(data);
printf("i2c_write(data);\n\r");
i2c_stop();
printf("i2c_stop();\n\r");
printf("Reading...\n\r");
i2c_start();
printf("i2c_start();\n\r");
i2c_write((0xa0|(BYTE)(0x05>>7))&0xfe);
printf("i2c_write((0xa0|(BYTE)(0x05>>7))&0xfe);\n\r");
i2c_write(0x05);
printf("i2c_write(0x05);\n\r");
i2c_start();
printf("i2c_start();\n\r");
i2c_write((0xa0|(BYTE)(0x05>>7))|1);
printf("i2c_write((0xa0|(BYTE)(0x05>>7))|1);\n\r");
data=i2c_read(0);
printf("data=i2c_read(0);\n\r");
i2c_stop();
printf("i2c_stop();\n\r");
printf("Value=%d\n\r",data);
data++;
delay_ms(500);
} while (TRUE);
}

Antes que algum engraçadinho venha falar besteira... SIIIM ... eu utilizei o 16F877 e não o 16F877A ... que na verdade é o que eu uso na maior parte das minhas aplicações.

Ai vai também uma tela do programinha funcionando, só pra dizer que "nóis mata a cobra e mostra o pau..." ...


That's all folks...