Moderadores: andre_luis, 51, guest2003, Renie
( ex: minha_tela[2560] )
Pegue o' conteúdo ' a ser mostrado,copie com o mouse apenas os bytes que interessam,crie um arquivo de texto vazio, na hora de nomear,renomeie para .hex e depois 'cole o conteudo'.
Mouse direito,'Novo','Documento de texto',ja renomeie para 'alguma_coisa.hex',o própio Windows vai providênciar um 'cabeçalho 'padrão no arquivo.Deixe o Windows abrindo arquivos .hex,por padrão,com o Bloco de Notas.
//SDCard icon
const char logo6[]={
0x0,0x0,
0x7,0x3C,
0x8,0x4,
0x15,0x14,
0x15,0x14,
0x15,0x14,
0x10,0x4,
0x10,0x4,
0x10,0x4,
0x10,0x4,
0x10,0x4,
0x1F,0x3C,
};
:020000040000FA
:100000000000073C080415141514151410041004FE
:100010001004100410041F3CFFFFFFFFFFFFFFFF51
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
:10010000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
:10011000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
:10012000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
:10013000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
:10014000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
.
.
. "Tirei esta parte pois é muuuuito longo"
.
.
:10FF5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
:10FF6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
:10FF7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
:10FF8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
:10FF9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
:10FFA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
:10FFB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
:10FFC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
:10FFD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
:10FFE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
:10FFF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
:00000001FF
lellis escreveu:veja 01 ex. glcd_editor.exe que acho pode lhe ajudar. tem muitos conversores de bimap-->glcd.....
abç
barboza escreveu:......O problema é que você esta o manipulando no software errado. ......
Sergio escreveu:Regis, sobre o ack_polling , eu utilizo e funciona... vc esta enviando o stop depois de mandar o ultimo dado, após isto esta tentando mandar um start + comando de gravação??
vtrx escreveu:Acho que o mais correto é você corrigir o erro de seu programa na hora de testar o 'ack_polling'......
void GravarImagemEEprom(unsigned int end, char pagina)
{ int x=0, TamanhoImagem;
char BufferEEprom, CrtByte, y=1;
if (pagina){ //icone=1
TamanhoImagem = 24; //icone 24 bytes
// Inicio = 0; //Inicio da primeira imagem
CrtByte = 0XA8; //Pagina 1
}
else{ //Logo=0
TamanhoImagem = 2560; //Logo 2560 bytes
// Inicio = 100; //Inicio da primeira imagem
CrtByte = 0XA0; //Pagina 0
}
rw_start_eeprom(end, CrtByte); //Envia Endereço e Byte de controle
for (x=0; x < TamanhoImagem; x++)
{
if (BufferEEprom>126) //Se o buffer interno da EEprom ficou cheio
{
i2c_stop(); //Avisa EEprom para iniciar a gravação
BufferEEprom = 0; //reinicia contador
while(y) //Aguarda ACK da Memória
{
i2c_start(); //Envia Start
//i2c_repStart();
i2c_waitForIdle(); //Aguarda condição de Idle
i2c_write(CrtByte); //Envia Byte de controle
i2c_waitForIdle(); //Aguarda condição de Idle
if (!ACKSTAT)y=0; //Se receber acknowledge sai do loop
i2c_stop(); //Envia stop
i2c_waitForIdle(); //Aguarda condição de Idle
}
i2c_repStart();
rw_start_eeprom(end, CrtByte); //Envia Endereço e Byte de controle
//i2c_write(CrtByte);
}
else
{
i2c_write(logo1[x]); //Aqui define qual array vai ser enviado
BufferEEprom++;
end++;
y=1;
}
}
i2c_stop();
}
void i2c_waitForIdle(void) {
while (( SSPCON2 & 0b00011111 ) | (SSPSTAT & 0b00000100)) {}; // Aguarda condição de idle e não escreve
}
unsigned char i2c_write( unsigned char i2cWriteData ){
i2c_waitForIdle();
//while (BF){}; //Enquanto o Buffer etiver cheio BF=1
SSPBUF = i2cWriteData; //Envia byte para o buffer de saida
return ( ! ACKSTAT ); // Função retorna '1' se a transmissão receber acknowledge
}
fabim escreveu:sei lá, sou contra esse negocio de avatar estilo baratinha, que deixa a gente com uma coisa ruim, com vontade de dar ticão na tela do pc.
Sergio38br escreveu:o end da memoria é global ou local?, vi end. declarada em duas funções..
[ ]'s
Sergio
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante