
	Tester LdMicro sur microcontrleurs AVR ATMEGA 
	______________________________________________


	Si tout est bien configur, il est possible de gnrer des fichiers C,
	puis un fichier hex et de le transfrer dans la cible sans quitter ldmicro



1)	Installer un compilateur avr-gcc pour windows 

2)	Copier l'excutable LdMicro, buildAvr.bat et flashMCU.bat dans un mme dossier
	Copier au mme endroit le dossier LIBRARIES_FOR et son contenu
	Vrifier que la version des librairies correspond  celle de LdMicro

3)	Editer buildAvr.bat (Clic droit + Modifier) et modifier GCCPATH pour pointer 
	sur le rpertoire d'installation d'avr-gcc

	Editer ensuite si ncessaire FlashMCU.bat (Clic droit + Modifier)
	Si vous utilisez AvrDude pour flasher la cible, modifier galement
	la variable AVRDUDE_PATH, et adapter la ligne de commande avrdude.exe selon
	le programmateur utilis
	Sinon, il est toujours possible de flasher la cible manuellement
	 partir du fichier hex gnr par LdMicro

4)	Crer un ladder avec LdMicro dans un dossier

5)	Compiler le ladder avec "Compiler en AVR-GCC pour Atmel AVR"
	et gnrer le fichier C propos dans le mme dossier que le ladder (.ld) 
	avec le mme nom (.c)
	
	Cela gnre aussi un fichier header (.h) et un autre header ladder.h
	Avec les librairies fournies, ceci constitue un projet C prt  l'emploi

6)	Lancer "Gnrer la solution C" depuis LdMicro pour gnrer le fichier hex
	dans le dossier "bin"  partir des fichiers prcdents

	Observer la fentre de commande ; il ne devrait pas y avoir d'erreur
	Les librairies sont automatiquement recopies (la premire fois)
	dans le sous-dossier "lib" o elles peuvent ensuite tre adaptes
	Les fichiers intermdiaires sont gnrs dans le sous-dossier "obj"

7)	Charger ce fichier dans la cible, soit automatiquement avec "Lancer FlashMcu"
	soit manuellement  partir du sous-dossier "bin" qui a t cr
	Tester le fichier hex ainsi gnr sur la cible...



NB:	Les librairies ont t testes sur AtMega8, 16 et 328
	Il est possible (et facile) d'adapter le code  d'autres cibles de la mme
	famille en utilisant des directives de compilation
	Le nom de la cible est dfini dans ladder.h comme LDTARGET_atmegaxxx

	Il est possible d'utiliser plusieurs ADC ou PWM, mais seulement une UART,
	un SPI, et un I2C
	(Mais avec plusieurs priphriques utilisant diffrents pins SS pour le SPI
	ou diffrentes adresses pour l'I2C)

NB:	Le SPI doit tre nomm "SPI"sur AVRs
	Les nouvelles fonctions SPI sont:
	Emission/Reception SPI, qui envoie et/ou reoit un octet
	Ecriture SPI, qui envoie une chaine alphanumerique sur le SPI sans rception

	La frquence du SPI est dfinie comme celle de l'UART dans le panneau de 
	configuration de LdMicro
	Le SPI le fonctionne qu'en mode master, avec la configuration standard

NB:	L'I2C doit tre nomm "I2C"sur AVRs
	Les nouvelles fonctions I2C sont:
	Rception I2C, pour lire un octet dans un registre du peripherique
	Emission I2C, pour crire un octet dans un registre du peripherique

	La frquence I2C est aussi dfinie dans le panneau de configuration de LdMicro
	L'I2C ne fonctionne galement qu'en mode master

NB:	Toutes les frquences utilises par les ADC, PWM ou SPI sont obtenues par
	division de la frquence CPU. Il y a peu de choix pour le facteur de division,
	et les frquences obtenues sont donc trs approximatives.
	Pour obtenir des indications sur ces frquences, compiler en Hex/Asm et voir
	les informations donnes ou les calculer en tudiant les librairies ou
	le datasheet de la cible
	La frquence I2C est plus prcise en raison des possibilits offertes

NB:	La rsolution maximale est utilise pour les ADC
	La rsolution maximale est utilise pour les PWM et le paramtrage fonctionne
	uniquement en % entre 0 and 100

