Escrevendo para o endereço da EEPROM serial

B

bianchi77

Guest
Eu tentei escrever em eeprom serial, mas o resultado se misturam: A5 3C 81 5A A5 A5 3C 81 Você tem alguma idéia? ou virar o loop? Graças
Code:
 padrão unsigned char [8] = {[B] 0x3C 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C ,};[/B] para (endereço = 0x0000; endereço
 
tentar dar algum atraso no seu loop antes de escrever para o endereço seguinte .... pode ser que seja um problema com aviso de Boa Sorte I2C
 
você tenta dar algum atraso na sua malha antes de escrever para o endereço seguinte .... pode ser que seja um problema com aviso de Boa Sorte I2C
Ok vou tentar. ... colocar em ambos loop? 100 segundo milli? Graças

<span style="color: grey;"><span style="font-size: 10px">---------- Mensagem adicionada às 13:26 ---------- Mensagem anterior foi às 12:59 ---- ------</span></span>
Como isso?
para (endereço = 0x0000; endereço
 
Eu acho que você precisará alterar seu código .... é escrita em malha e em várias vezes .... tente este padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter
 
normalmente, escrever ciclo deste tipo de memória levam 3-6 ms. Para testar, tomar a 10 ms. E se você deseja obter mais ajuda, por favor, coloque o código da função AT25_WriteByte também. Porque eu não posso dizer exatamente o que fazer.
 
Eu acho que você precisa alterar o seu código .... é escrita em malha e em várias vezes .... tente este padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter4096) address = 0; se o endereço (> 8192) address = 0; / * certificar-se de que o dispositivo está habilitado escrever * / AT25320_CS = 0; _nop_ (); SPI_WriteByte (WREN); AT25320_CS = 1; _nop_ (); _nop_ (); / * escrever op_code, endereço e dados para o dispositivo * / AT25320_CS = 0; _nop_ (); SPI_WriteByte (WRITE) / / op_code / / SPI_WriteByte ((uchar) ((endereço de e 0x0F00)>> 8)); / / escreve o endereço A11 A0 ~ / / SPI_WriteByte ((uchar) ((endereço de e 0x00F0)>> 8)); / / escreve o endereço A13 ~ SPI_WriteByte A0 / / ((uchar) (endereço e 0x00FF)); SPI_WriteByte ((uchar) endereço (>> 8)) ; SPI_WriteByte ((uchar) (endereço)); for (i = 0; i
 
normalmente, escrever ciclo deste tipo de memória levam 3-6 ms. Para testar, tomar a 10 ms. E se você deseja obter mais ajuda, por favor, coloque o código da função AT25_WriteByte também. Porque eu não posso dizer exatamente o que fazer.
eu coloquei a função ... Espero que qualquer um pode ajudar .. Obrigado
 
U pode experimentar este ..... padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter
 
Can u experimentar este ..... padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter
 
Can u experimentar este ..... padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter
 
Can u experimentar este ..... padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; endereço unsigned char = 0x0000; for (contador = 0; counter
 
Sem sorte, no entanto, eu coloquei:
uint endereço, contador, padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; address = 0x0000; for (contador = 0 ; counter
 
pode ser assim?
uint endereço, contador, padrão unsigned char [8] = {0x3C, 0x42, 0xA5, 0xA5, 0x81, 0xA5, 0x5A, 0x3C,}; address = 0x0000; for (contador = 0; counter
 

Welcome to EDABoard.com

Sponsor

Back
Top