I2C em Assembler (start/stop)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

I2C em Assembler (start/stop)

Mensagempor icaro51 » 05 Abr 2009 04:52

Oi pessoal estou tentando impementar um programinha em assembler para ler os dados do acelerometro do controle do Wii.
Os dados sao passado no formato I2C e eu estou usando o pic18f258 que tem o protocolo implementado.
Depois de dar uma olhada no datasheet e implementar o programa eu estava vendo uns programas em C que fazem a mesma leitura para saber o protocolo e vi que em C tem os comandos I2C_Start() e I2C_Stop() isso nao existia no meu codigo, procurando na net encontrei uma comunicacao I2C para E2Prom que e mais ou menos assim:

call AGUARDA_I2C_LIVRE
bcf STATUS,C
rlncf ENDERECO_HIGH,W
iorlw B'10100000'
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO

movf ENDERECO_LOW,W
movwf SSPBUF
call AGUARDA_I2C_LIVRE
call TESTA_ACK
btfsc F_ERRO
goto I2C_ERRO

Minha duvida e se esse iorlw estaria fazendo o papel do I2C_Start e o que faria o papel do I2C_Stop


Desde ja agradeco,
Icaro
icaro51
Byte
 
Mensagens: 119
Registrado em: 09 Dez 2006 21:56

Mensagempor Vonnilmam » 12 Abr 2009 23:47

Se eu entendi bem sua pergunta:

Quero lhe dizer que o star quanto o stop são necessarios quer seja em assembler ou c...Dá uma olhada no site da microchip que lá tem uma rotina para controlar memorias i2c via software e via hardware do pic, eu particularmente utilizo via software e a utilizo a varios anos...existem varios formatos de controle desde o simples ler e escrever um byte na memoria como escrever ou apagar ou ler em blocos de 64 bytes que é o mais convencional e rapido...dá uma olhada lá e se não conseguir achar avise que posto para vc uma rotina que funciona certinha, ok...em assembler é claro...

VIVA AO ASSEMBLER...
VonNilmam "Assembler" e agora "C"
Avatar do usuário
Vonnilmam
Byte
 
Mensagens: 446
Registrado em: 19 Out 2006 14:25
Localização: espacial


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x