Cómo probar LdMicro32 en AVRs (AtMega) con funciones ADC, PWM, SPI o I2C: ______________________________________________________________________ 1) Instale AvrStudio 5, 6 o 7 (7 no probado) desde el sitio de Atmel o instale directamente un avr-gcc para Windows (no probado). 2) Copie el ejecutable LdMicro32 y flashMCU.bat en un mismo directorio. 3) Edite FlashMCU.bat (haga clic con el botón derecho + Modificar) y en la sección AVRGCC, modifique GCCPATH para que apunte a su ruta avr-gcc en lugar de la mía Si pretende utilizar AvrDude para flashear el objetivo, modifique la ruta DUDPATH también, y adapte la línea de comandos avrdude.exe de acuerdo con su Programador AVR. De todos modos, será posible generar un archivo hex con script y flashear el objetivo con él manualmente a continuación. 4) Cree una escalera con LdMicro32 en un directorio y copie las bibliotecas de C en un subdirectorio llamado "lib" 5) Compile la escalera con "Compile ATMEL AVR-GCC" (no es lo mismo ahora como Win-AVR) y genere el archivo C en el mismo directorio que el Archivo fuente (.ld), con el mismo nombre (.c) También genera un archivo (.h) y un encabezado ladder.h Con bibliotecas unidas, realiza un proyecto de C ya confeccionado. 6) Inicie FlashMCU.bat desde LdMicro32 para obtener el archivo hex y subirlo al destino automáticamente o manualmente desde el subdirectorio "bin" Mira la ventana de comandos; no debe haber errores de compilación Los archivos intermedios se generan en el subdirectorio "obj" 7) Prueba de archivo hexadecimal generado en destino ... Por supuesto que necesita ser probado además ... Por favor reporte problemas (y éxitos) en el foro de ldmicro NB: Las bibliotecas han sido probadas en AtMega8, 16 y 328 Es posible (y fácil) adaptar el código a otros objetivos del La misma familia mediante el uso de directivas de compilación. El nombre del objetivo se define en ladder.h como LDTARGET_atmegaxxx Puede usar varios ADC o PWM, pero solo un Uart, un SPI y un I2C (Pero con varios periféricos con diferentes pines SS de software en SPI o con diferentes direcciones en bus I2C) NB: SPI debe llamarse "SPI" en los AVR Las nuevas funciones de SPI son: SPI Enviar / Recibir, que envía y / o recibe un byte SPI Write, que envía una cadena alfanumérica a SPI sin recepción La frecuencia SPI se define como la de UART en la configuración global SPI funciona solo en modo maestro con la mayoría de las configuraciones estándar NB: I2C debe llamarse "I2C" en los AVR Las nuevas funciones de I2C son: I2C Leer para leer un byte en un registro de periféricos I2C Escribir para escribir un byte en un registro de periféricos La frecuencia I2C también se define en la configuración global I2C también funciona solo en modo maestro NB: todas las frecuencias utilizadas por ADC, PWM o SPI se obtienen del reloj de la CPU por un factor divisorio. Hay pocas opciones para este factor, por lo que las frecuencias Son muy aproximativos. Para tener consejos sobre frecuencias compile en Hex / Asm y mirar la información dada o computarla mirando bibliotecas o hoja de datos La frecuencia I2C es más precisa debido a las posibilidades de configuración. Se utiliza la resolución máxima ADC disponible. Se utiliza la resolución máxima de PWM y el parámetro es solo% entre 0 y 100