Home
Add Document
Sign In
Register
Codigos
Home
Codigos
codigos para ATMega328p, para el uso de esclavos y comunicación TWIDescripción completa...
Author:
JoseAcevedo
9 downloads
387 Views
146KB Size
Report
DOWNLOAD .PDF
Recommend Documents
Codigos
Descripción: codigos de alarmas
codigos
exito
DOCENTES-CODIGOS
DOCENTESDescripción completa
Trabajo Codigos
Descripción completa
codigos t
codigos sagrados
Activación de los códigos sagrados con explicaciónDescripción completa
Codigos Java
Descripción completa
GM codigos
Descripción completa
CODIGOS SOCIALES
Descripción completa
Codigos Man
CODIGOS AVERIASDescripción completa
Codigos Caterpillar
CODIGOS GRABOVOI.docx
Descripción completa
codigos ATA
Codigos Caterpillar
GM codigos
Description complète
Codigos ADUNI
w
Codigos ST1030
DTC MANUALDescripción completa
codigos-obd2
codigos-obd2
Allison Codigos
allison codigos transmision
Codigos Falhas
codigos-post.pdf
Descripción completa
CODIGOS ANDINOS
Los códigos andinos.
codigos SMD.docx
Codigos Falhas
//******************************************************************** // // Funciones para el manejo de la Interfaz TWI como maestro. // Las funciones de esta biblioteca NO usan interrupciones. // //******************************************************************** #include
// Frecuencia Frecuencia de reloj reloj TWI a 2 34z // 6re7escalador 6re7escalador en // 8justar se%9n el dispositio TW, - :<
en >enera era un una con cond dici& ici&n n de de ini inic cio // ,e%resa= 7 5in problemas // ;do 7 No se consi%u i& i& %anar el bus //******************************************************************** uint?'t TWI'Inicio() uint?'t edo1 TW, - (:<
// ondici&n de de inicio // Obtiene el estado // 0 posibilidades de Dito // ?= ?= inicio inicio // := Inicio
repetido return edo1
// No %an& el bus
//******************************************************************** // TWI'6aro= >enera una condici&n de paro //******************************************************************** oid TWI'6aro() TW,-(:<
// ondicion de de paro
A!ile(TW, C :<
// ;l bit se limpia por 4W
//******************************************************************** // TWI';sc+Ete= ;scribe un dato (o una 5L8 W/,) por la interfaz TWI // ,ecibe= ,ecibe= ;l dato de ? bits a eniar eniar // ,e%r e%resa= esa= 7 5in 5in proble oblem mas (;n (;nGo Go con reco econoc nocimie imien nto) to) // ;do 7 5i el dato no se enGo como se esperaba //******************************************************************** uint?'t TWI';sc+Ete(uint?'t dato) uint?'t edo1 TWH, - dato1 TW, - (:<
// ar%a el dato dato // Inicia enGo // ;spera estado // Obtiene el estado
if(edo -- :? @@ edo -- 0? @@ edo -- ) // J posibilidades de Dito return 1
// :?= 5L8 W Transmitido con 83 // 0?= 5L8 , Transmitido con 83
:
// = Hato Transmitido con 83 return edo1
// 5ituaci&n diferente
//******************************************************************** // TWI'Lee+Ete= Lee un dato por la interfaz TWI // ,ecibe= ,eferencia para ubicar el dato leGdo // Indicaci&n de reconocimiento // ,e%resa= 7 5i no !ubo problema // ;do 7 5i el dato no se enGo como se esperaba //******************************************************************** uint?'t TWI'Lee+Ete(uint?'t *datoK uint?'t ac) uint?'t edo1 if(ac)
// uando se lee una secuencia // para indicar Mue es el 9ltimo bEte // no se sealiza el reconicimiento
TW, @- (:<
// Limpia bandera TWINT
A!ile(B(TW, C (:<
// ;spera a la bandera TWINT
edo - TW5, C F?1 if(edo -- 2? @@ edo -- 2)
// Obtiene el estado de la interfaz TWI // Hos posibilidades de Dito
*dato-TWH,1 return 1
// 2?= Hato leGdo con 83 // 2= Hato leGdo sin 83 // Lee el dato
return estado1
// 5ituaci&n diferente
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include
// +uUer acio // ;nia caracter
I5,(Q58,T',V'ect) c!ar temp1 temp - QH,1 bufRjS - temp1 if( temp -- #) LH'Arite'cad(bufK j)1 j - 1
// ,ecibe E %uarda
// Imprime si es #
0
else
j1
int main() HH,+ - FF1 // 6uerto del LH HH,H - 1 // para Int 6O,TH - FF1 LH'reset()1 ;I,8 - 01 ;I53 - :1 con$%'Q58,T()1 sei()1 LH'Arite'cad(P4olaPK )1 A!ile(:) asm(PnopP)1 oid con$%'Q58,T() Q+,, - :01 Q5,8 - 1 Q5,+ - X?1 Q5, - Y1
// ? bps // 8sGncrono normal // 4ab. TV E ,V
#include
// Hos interrupciones po Zanco de bajada // 4abilitaci&n indiidual
I,: - :XXXX1
// [alor m\imoK T - 0 m5 (f - 2 4z)
O,:8 - :XX1
// ent ro
T,:8 - ?01 // 6W r\pido con modo no inertido E m\imo en I,: T,:+ - :X1 // ,eloj sin pre7escalador T,: - 1 // No !aE eentos de comparaci&n sei()1 A!ile(:) asm(PNO6P)1 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////// #de$ne F'6Q :QL #include
J
#include
uarda dato en ector A!ile(B(Q5,8C:<
if(data--F) //eniar if (ectorRposicionSB-#)// ]uitar para imprimir ectorRposicionS-#1// el caracter parpadeando i-1 A!ile( ectorRiS B- #) A!ile(B(Q5,8 C : << QH,;))1 // +uUer acio QH, - ectorRiS1 // ;nia caracter i1 Q5,8@-:<
uint?'t teclado() uint?'t secuenciaRS-F;KFHKF+KF_1 uint?'t iKren%lonKdato1 for(ren%lon - Ki - 1i<1i) 6O,T+-secuenciaRiS1 asm(PnopP)1
2
dato-6IN+CF1 if(dato B- F) ban-:1 'delaE'ms(02)1 'delaE'ms(:)1 sAitc!(dato) case ;= return ren%lon1 case H= return ren%lon:1 case += return ren%lon01 case _= return ren%lonJ1 ren%lon-1 return 1 oid corrimiento()//Funci&n corrimiento int jK!0Kp-Kcambio-1 !0-!7J01//!0 tiene el n9mero de letras Mue no caben en el LH do cambio-1//ambio empieza con K indica el ren%l&n a utilizar LH'cursor()1//6osiciona cursor al ini cio del LH for(j-p1j
Y
olatile c!ar timeRS-KJK::KJK2K::K;KX1 olatile int j-:1 olatile int i-Kband-1 olatile int auter-1 olatile int aulcd-1 olatile int aucad-1 unsi%ned c!ar ectorRYS1 olatile int >4-1 olatile uint?'t !KmKs1 olatile uint?'t ector:RYS1 olatile uint?'t accion1 olatile c!ar datosRJS1 c!ar lee'rtc()1 c!ar escribe'rtc()1 oid obtener'!ora()1
//5i recibo W desde el puerto serial se deber\ preparar para una nuea !ora (parpadear o al%o asG) //si recibo , el sistema eniar\ la !ora J0 I5, (Q58,T',V'ect) accion-QH,1 A!ile(B(Q5,8 C : << QH,;))1 if(accion--,)
//si tenemos , //Leo la !ora Mue escribG //lee'rtc()1
QH,-(((ectorR0S"")C:)J)1 'delaE'ms(0)1 QH,-((ectorR0SCF)`:J)1 'delaE'ms(0)1 QH,-(=)1 'delaE'ms(0)1 QH,-((ectorR:S"")J)1 'delaE'ms(0)1 QH,-((ectorR:SCF)`:J)1 'delaE'ms(0)1 QH,-(=)1 'delaE'ms(0)1 QH,-((ectorRS"")J)1 'delaE'ms(0)1 QH,-((ectorRSCF)`:J)1 'delaE'ms(0)1 >4-1 else obtener'!ora()1 int main() HH,+-FF1 LH'reset()1
//on$%uracion LH
TW+,-01 TW5,-1
//on$%uracion del TWI
HH,H-01
//,VH entrada E TVH salida ///on$%uracion de la interrupcion
6O,TH-1 Q,-1 HH,-01 //on$%uramos Q58,T Q+,, - :01 Q5,8 - 1 Q5,+ - X?1 //X? lectura E escritura Q5, - Y1//?Y
//on$%uracion Teclado
//0
//XY bps a doble elocidad //decimos Mue est\ a doble elocidad //? bitsK interrup. por recepcionK !abilitamos //sin paridad E : bit de paro
_
sei()1 A!ile(:) lee'rtc()1 /////////////////////////////////////////,ead ... lectura de la !ora c!ar lee'rtc() unsi%ned c!ar estadoKdatoRJS1 TW,-(:<
//4abilita a la interfaz TWI E transmite una condicion de INIIO
TWH,-H1 TW,-(:<
for(int i-1i<01i) TW,-(:<
?
TW,-(:<
4S-accion7J1 if (accion--WCC>4<_) LH'cursor()1 LH'Arite'data(ector:RS)1 LH'Arite'data(ector:R:S)1 LH'Arite'data(=)1 LH'Arite'data(ector:R0S)1 LH'Arite'data(ector:RJS)1 LH'Arite'data(=)1 LH'Arite'data(ector:RS)1 LH'Arite'data(ector:R2S)1 s - ector:R2S1 s@- ector:RS << 1 m - ector:RJS1 m @- ector:R0S << 1 !- ector:R:S1 !@- ector:RS << 1 >4-1 escribe'rtc()1 else >41
//teclado()1
////////////////////////////// c!ar escribe'rtc() uint?'t edo1 edo - TWI'Inicio()1 if (edo B- ) return 1 edo - TWI';sc+Ete(H)1 if (edo B- ) return 1 edo - TWI';sc+Ete()1 if (edo B- ) return 1 edo - TWI';sc+Ete(s)1 if (edo B- ) return 1 edo - TWI';sc+Ete(m)1 if (edo B- ) return 1 edo - TWI';sc+Ete(!)1
X
if (edo B- ) return 1 TWI'6aro()1 return :1
:
×
Report "Codigos"
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & close