Traduccion o creacion de manual para microcontroladores AVR

Hola a todos,
No voy a discutir si es mejor el Bascom, lo que si se es que puedes hacer cosas muy rapidas con BASCOM-AVR, lenguaje C es universal es por eso que lo estoy aprendiendo a usar.

Revisa los ejemplos que hay en Bascom-Avr, pero sobre RS485.

Saludos...
 
hola primero tienes que enviar la direccion a la cual deseas acceder y luego iniciar nuevamente la secuencia pero esta ves de lectura.. asi:

para la escritura la cual deseas leer
inicio de comunicacion--> direccion esclavo+w --> direecion la cual deseas leer --> stop

para la lectura del dato que deseas leer
inicio de comunicacion --> direccion esclavo +R --> lees el dato que te envio -- > stop
 
Hace rato que no escribia, porque ando muy ocupado, pero les cuento que si pude hacer funcionar la TWI del atmega con una eeprom, el problema estaba en que la memoria necesita enormes 1mS para grabar los datos, por eso solo guardaba datos en forma salteada y lo de que no podia leer era porque la interfas i2C dice que el bus debe permanecer libre durante al menos 5uS por eso tampoco lograba leer los datos, ja bueno asi se aprende practicando practicando y practicando y porque no hasta hechando a perder jejeje sale haber cuando vuelvo a escribir
 
hola, dejo unas preguntillas rapidas :D

-AVR usa nucleo ARM??

-hay micros de AVR de mas de 8 bits?

-por lo que e leido, el juego de instrucciones del micro depende de la arquitectura (ARM o lo que sea) Entonces todos los AVR tienen las mismas instrucciones que otros micros aunque sean de distinto fabricante?

-de ARM que marcas preferis?

bueno saludos
 
hola, dejo unas preguntillas rapidas :D

-AVR usa nucleo ARM??

No.

-hay micros de AVR de mas de 8 bits?

16 Y 32 BITS.

-por lo que e leido, el juego de instrucciones del micro depende de la arquitectura (ARM o lo que sea) Entonces todos los AVR tienen las mismas instrucciones que otros micros aunque sean de distinto fabricante?

AVR es AVR y ARM es ARM y más potente.

-de ARM que marcas preferis?

Mira las marcas y escogerás las más que se te adapte a tus necesidades, de todas formas escojas una o otra hay muchas similares.


bueno saludos


Feliz Navidades 2010.
 
hola a todos, yo utilizo el codevisioAVR para programar en C este tambien permite programar en ASM, pero encontré este Macroassembler Grafico visual (editor, compiler, simulator, programmer) me parece muy interesante además gratis"creo" http://algrom.net/ alguien ha escuchado de él??

saludos
 
Meta , en realidad si existen microcontroladores atmel con núcleo ARM fijate en la página de ATMEL ahí en las versiones de 32 bits, tiene una línea completa con núcleo ARM.

hola a todos, yo utilizo el codevisioAVR para programar en C este tambien permite programar en ASM, pero encontré este Macroassembler Grafico visual (editor, compiler, simulator, programmer) me parece muy interesante además gratis"creo" http://algrom.net/ alguien ha escuchado de él??

saludos

Es freeware ?

En caso de que no lo sea...hay una herramienta profesional específica llamada Flowcode pro para AVR que se programa mediante diagramas de flujo.
 
Última edición:
Meta , en realidad si existen microcontroladores atmel con núcleo ARM fijate en la página de ATMEL ahí en las versiones de 32 bits, tiene una línea completa con núcleo ARM.



Es freeware ?

En caso de que no lo sea...hay una herramienta profesional específica llamada Flowcode pro para AVR que se programa mediante diagramas de flujo.

Si, ya averigué.... es freeware!. dejo la ruta a la página traducida y una ruta de descarga del programa

página traducida:
http://translate.google.com.ar/translate?u=http://algrom.net/&sl=en&tl=es&hl=es&ie=UTF-8

programa:
http://algrom.net/AB544.exe

saludos.
 
hola.........
me preguntaba si podrías subir algún pdf sobre la sección del ADC y la USART del atmega 32
en español, te lo agradecería mucho.
gracias.
 
hola.........
me preguntaba si podrías subir algún pdf sobre la sección del ADC y la USART del atmega 32
en español, te lo agradecería mucho.
gracias.

Que tal bueno pues en la red hay manuales del atmega pero te aconsejo que revisees manuales en ingles para que te vallas falmiliarizando, creo que tengo manuales en espanol deja y reviso y te los mando, que tienes que hacer con el adc y la usart?
SALUDOS
 
ok
pues es solo quiero documentarme un poco, ya que llevo una materia en la que es necesario aprender a manejar el atmega.

gracias.....tomare en cuenta tu consejo.
 
ok
pues es solo quiero documentarme un poco, ya que llevo una materia en la que es necesario aprender a manejar el atmega.

gracias.....tomare en cuenta tu consejo.

k tal pues aki te dejo una idea de lo que la usart, cualquier cosa me escribes, espero que te sirva


El ATmega164P/324P/644P tiene dos USART’s, USART0 y USART1.
La funcionalidad para todos los USART’s es descrito a continuación, la mayoría
de registros y bits de referencia en esta sección son escritas en forma general. La
letra minúscula “n” reemplaza el número USART.


La Generación lógica de reloj genera la base de reloj para la Transmisión y
Recepción. El USARTn soporta cuatro modos de operación de reloj: Asincrónico
Normal, Doble velocidad Asincrónica, Maestro Sincrónico y Modo esclavo
Sincrónico. El bit UMSELn en USART Control de Registro de Estado C
(UCSRnC) selecciona entre operación Asincrónica y Sincrónica. Doble
velocidad (solo modo asíncrono) es controlada por el U2Xn encontrado en el
registro UCSRnA. Cuando se usa modo síncrono (UMSELn = 1), el Registro de
Dirección de Datos para el pin XCKn (DDR_XCKn) controlan si la fuente de
reloj es interna (modo Maestro) o externa (modo esclavo). El pin XCKn es solo
activado cuando se usa modo Síncrono.


Descripción de la Señal:
txclk Reloj de Transmisión (Señal Interna).
rxclk Reloj Receptor (Señal Interna).
xcki Entrada desde el pin XCK (Señal Interna). Usada para operación Esclavo
sincrónica.
xcko Salida desde el pin XCK (Señal Interna). Usada para operación Maestro
sincrónica.
fOSC Frecuencia del pin XTAL (Sistema de Reloj).


Generación del Reloj Interno- Generador de Velocidad de transmisión
en Baudios
Generación Interna de Reloj es usada por los modos de operación Maestro
síncrono. La USART Registro de Velocidad de Baudios (UBRRn) y el contador-
Bajo conectados a esta función como prescalador programable del registro de
velocidad de Baudios. El contador-bajo, corriendo como sistema de reloj (fosc),
es cargado con el valor UBRRn cada vez que el contador ha contado
descendente hasta cero o cuando el Registro UBRRln es escrito. El reloj es
generado cada vez que el contador se hace cero. Este reloj es el generador de
velocidad de transmisión en Baudios a la salida (= fosc/(UBRRn+1)). La
transmisión divide el generador de velocidad de transmisión en Baudios a la
salida por 2, 8 o 16 dependiendo del modo. El generador de velocidad de
transmisión en Baudios a la salida es usada directamente por el reloj receptor y
las unidades de recuperación de datos. Sin embargo, la recuperación unitaria
usa la (state machine) que usa 2, 8 o 16 dependiendo del modo uno por la
condición del los bits UMSELn, U2Xn yDDR_XCKn.

Doble Velocidad de Operación (U2Xn)
La proporción transferida puede ser duplicada por la configuración del bit
U2Xn en UCSRnA. Configurando solo este bit tiene efecto para la operación
asíncrona. Poner este bit a cero cuando se usa una operación síncrona.
Configurando este bit reduciría la división de la proporción de baudios
dividida para 16 a 8, efectivamente doblando la proporción de transferencia
para comunicación asíncrona. Note sin embargo que al Receptar en este caso
solo se usa la mitad de números de ejemplo (Reducido desde 16 a 8 ) para datos
de ejemplo y tiempo de recuperación, y además a mas exactas proporciones en
baudios y sistemas de reloj son requeridas cuando este modo es usado. Para la
Transmisión no hay downsides.


3 Reloj externo
El reloj externo es usado para el modo de operación Esclavo síncrono. La
entrada de Reloj Externo desde el pin CCKn es mostrada por la sincronización
del registro para minimizar la oportunidad de una mayor estabilidad. La salida
desde el la sincronización del registro es minimizada al perder la oportunidad.
La salida desde el registro sincronizado pasa luego a través del detector de
flanco antes que pueda ser usada para la Transmisión y Recepción. Este proceso
introduce dos periodos de reloj del CPU demorados y por consiguiente la
máxima frecuencia de reloj externo XCKn es limitada por la siguiente ecuación:
Note que la fosc depende de la estabilidad de la fuente del sistema de reloj.
Esto es recomendado al agregar más flancos para evitar posibles pérdidas de
datos en las variaciones de frecuencia.


Operación de Reloj Síncrona
Cuando el modo síncrono es usado (UMSELn = 1), el pin XCKn seria usado
como entrada de reloj (Esclavo) o Salida de reloj (Maestro). La dependencia
entre el flanco del reloj y los datos muestreados o datos cambiados es lo mismo.
El principio básico es que la entrada de datos (en R:LOL:n) es muestreada a la
oposición del flanco del reloj XCKn del flanco de la salida (T:LOL:n) es oportuno.
El bit UCPOLn en UCRSC selecciona cual flanco de reloj XCKn es usada para
probar los datos y para cambiar los datos. Cuando UCPOLn es cero los datos
serán cambiados al flanco de subida XCKn y probados en el flanco de bajada
XCKn y probados en el flanco de subida XCKn.

Formato de Trama
La Trama serial es definida para ser una característica de bits de datos con
sincronización de bits (Bits que enmiendan y terminan), y opcionalmente la
paridad del bit para chequear errores. USART acepta en total 30 combinaciones
de los siguientes formatos de trama:
• 1bit empieza
• 5, 6, 7, 8 o 9 bits de datos
• bit de paridad impar
• 1 o 2 bits de parade
La trama comienza con el bit de comienzo, seguido por el bit de dato menos
significativo. Luego el siguiente bit de dato, sube a un total de nueve, teniendo
éxito, finalizando con el bit más significante. Si es habilitado, la paridad del bit
es insertada después de los bits de datos, antes de los bits de parada. Cuando
una trama es completada es transferida, esta puede ser direccionada seguida
por la nueva trama, o la línea de comunicación puede ser un estado en alto.
Formatos de Tramas
El formato de la trama usado por la USART es uno por el USCZn2:0, UPMn1:0
y los bits USBSn en UCSRnB y UCSRnC. La Recepción y transmisión usa la
misma configuración. Note que cambiando la configuración de cualquiera de
estos bits puede dañar la comunicación tanto de recepción como de
Transmisión.
El tamaño de los caracteres de los bits de USART (UCSZn2:0) seleccionan el
número de bits de datos en la trama. Los bits del modo paridad de la USART
(UPMn1:0) habilita y pone el tipo de paridad del bit. La selección entre uno o
dos bits de parada es hecha por el bit de paro de la USART seleccionando el bit
(USBSn). La Recepción ignora la segunda parada del bit. FE (Error de trama)
será solo detectada en los casos cuando el primer bit de parada es cero.


1 Cálculo del bit de Paridad
El bit de paridad es calculado utilizando una or-exclusiva en todos los bits de
datos. Si la paridad impar es usada, el resultado de la or exclusiva es invertido.
La relación entre el bit de paridad y los bits de datos es el siguiente:
Peven Bit de paridad usando el nivel de paridad
Podd Bit de paridad usando paridad impar
Dn bit de datos en el carácter n
Si son usados, el bit de paridad es localizado entre el último bit de datos y el
primer bit de parada de la trama serial.


Inicialización del USART
La USART tiene que ser inicializada antes de que cualquier comunicación
pueda tener lugar. El proceso de inicialización normalmente consiste de
configuraciones del tiempo en baudios, el formato de configuración de la trama
y habilitación de la Transmisición o la Recepción dependende del uso. Para
manejar la operación de interrupción USART, la Bandera de Interrupciones
Globales debería ser puesta en cero y las interrupciones USART deberían ser
deshabilitadas.
Antes de hacer la re inicialización con el tiempo en baudios cambiado o el
formato de trama, seria seguro que no hay transmisión durante el periodo en el
que los registros son cambiados. La Bandera TXCn puede ser usada para
chequear que transmisión ha sido completada en todas las transferencias, y la
bandera RXc puedan ser usadas para chequear que no hay lectura de datos en
la recepción del buffer. Note que la bandera TXCn puede ser puesta en cero
antes de cada transmisión (antes que UDRN es escrito) si esto es usado para
este propósito. La siguiente USART inicializa con un código simple mostrado
en asembler y en C que son equivalentes en funcionamiento. Los ejemplos
asumen una operación asíncrona sin la habilitación de interrupciones y
arreglando el formato de trama. La velocidad en baudios es dada como
parámetro de función. Para el código asembler, el parámetro de velocidad en
baudios es asumido para ser guardado en los registros r17:r16.


Transmisión de Datos – La transmisión USART
La transmisión del USART es habilitada por la configuración de habilitación del
bit de transmisión (TXEN) usada en el registro UCSRnB. Cuando la
transmisión es habilitada, la normal operación del pórtico del pin T:LOL:n es
sobrepuesto por el USART y dada la función como la Transmisión de salida
serial. La velocidad en Baudios, modo de operación y formato de trama seria
instalada una vez ante de cualquier transmisión. Si la operación síncrona es
usada, el reloj en el pin XCKn seria sobrepuesto y usado como reloj de
transmisión.


Enviando Tramas con 5 hasta 10 Bits de datos
La transmisión de datos es inicializada por la carga del buffer de transmisión
con el dato a ser transferido. La CPU puede cargar el buffer de transmisión por
la escritura en la localidad de E/S UDRn. El buffer de datos en la transmisión
seria movido al Register cuando es leído y enviado una nueva trama. El registro
movido es cargado con el nuevo dato si este no envía la transmisión o
inmediatamente después del último bit de parada de la trama previa es
transmitida. Cuando el registro movido, es cargado con un nuevo dato, esto
transferiría una trama completa a la velocidad dada por el registro de baudios,
bit U2Xn o XCKn dependiendo del modo de operación.
Los siguientes código de ejemplo muestran la simple USART transmitiendo
funciones basadas en el registro de datos vació de la bandera (UDRn). Cuando
se usa tramas con menos que ocho bits, la mayoría bits significativos escritos en
el UDRn son ignorados. El USART tiene que ser inicializada antes que la
función pueda ser usada. Para el código asembler, el dato a ser enviado se
asume que ha sido guardado en el registro R16.
La función simplemente espera la transmisión del buffer a ser limpiada por el
chequeo de la bandera UDREn. Antes de ser cargada con el nuevo dato a ser
transmitido. Si el Registro de Datos es limpiado la interrupción es utilizada, la
rutina de interrupción escribe el dato en el buffer.

Envió de Tramas con 9 bits de datos
Si son usados 9-bits (UCSZn = 7), el noveno bit seria escrito en el bit TXB8 en
UCSRnB antes de que el byte en bajo del carácter es escrito a UDRn. El siguiente
código muestra la función de transmisión a 9 bits. Para el código asembler, el
dato a ser enviado es asumido al ser guardado en los registros R17:R16.
El noveno bit puede ser usado para indicar la dirección de la trama usando un
multi procesador en modo de comunicación o por otro protocolo del manual
como para el ejemplo de sincronización.
 
Última edición:
Si, estoy de acuerdo, es un excelente aporte.

Ojalá mas personas se cambien a AVR con esta información en español.

Para ello debe haber mucho interés como los PIC.He visto en lavadores usar AVR y más aparatos, ahora están usando en Barcelona, www.salicru.com SAI o UPS que incorporan AVR también. Lo se porque ahora estoy trabajando de técnico sobre reparación de SAI o UPS pequeños y industriales tipo mueble que cuestan cada uno 22.000 € y son peligrosos.

Eso si, aunque sea un poco, cada vez noto interés por él. Es más barato y todo.

Saludo.
 
Atrás
Arriba