Ok. J'ai utilisé vi puis texmaker (qui est très bien au 1er usage).
Il a bien compris ce qu'a fait kile.
Nickel.
Voici le 1er patch en attachement. Je ne sais s'il y en aura
d'autre (la flemme d'aller plus loin), je n'ai lu que 30 pages sur 80.
J'ai écris un fichier LISEZ_MOI pour expliquer les problèmes
rencontrés et la démarche du patch (pour toi et les futurs
relecteurs).
PS: dans les courriels, met une ligne blanche entre le texte auquel
tu réponds et le tien; puis une autre ligne blanche après ta réponse.
Tes courriels seront bien plus lisibles car cela isolera tes
réponses du bruit (tu quotes tout...), pour seulement
deux octets de plus par réponse (une ligne blanche = 1 caractère).
--
Au revoir, 02 99 64 31 77
Gilles Lamiral. France, Chavagne (35310) 06 20 79 76 06
diff -aur tutoriel/dispo.tex tutoriel_gilles_1/dispo.tex
--- tutoriel/dispo.tex 2009-02-18 16:11:49.000000000 +0100
+++ tutoriel_gilles_1/dispo.tex 2009-03-13 01:52:11.000000000 +0100
@@ -1,5 +1,5 @@
\chapter{Bibliothèque de Dispositifs}
-Dans tous les modules montrés ici son utilisation dépend du type de PIC
+Pour tous les modules montrés ici, leur utilisation dépend du type de PIC.
\input{mod_eeprom}
\input{mod_PWM}
diff -aur tutoriel/intro.tex tutoriel_gilles_1/intro.tex
--- tutoriel/intro.tex 2009-02-19 00:45:54.000000000 +0100
+++ tutoriel_gilles_1/intro.tex 2009-03-13 01:50:05.000000000 +0100
@@ -4,44 +4,46 @@
\begin{figure}[!htp]
\centering \includegraphics[width=6cm]{source/GtkPicGccAbout}
- \caption{Logo de Pic Gcc Library}
+ \caption{Logo de la bibliothèque Pic Gcc}
\end{figure}
\section[{ Description des Dossiers}]{ \label{ID_DESCRIBCIONCARPETAS}Description des Dossiers}
\begin{table}[!htp]
\begin{center}
- \begin{tabular}{|c|p{10cm}|}\hline
- \textbf{Dossiers à la racine} & \textbf{Description des Dossiers} \ \hline
- bin & Dossier avec les outils pour la compilation \ \hline
- devel & Dossier avec le code source des bibliothèques (seulement la version pour développeurs).\ \hline
- doc & Dossier avec la documentation pour l'utilisation des bibliothèques.\ \hline
- examples & Dossier avec des exemples d'utilisation (ne pas ~modifier) \ \hline
- include & Dossier avec la définition de toutes les fonctions des bibliothèques. \ \hline
- lib & Dossier avec les bibliothèques statiques prédéfinies. \ \hline
- refman & Dossier avec le manuel de référence des bibliothèques. \ \hline
- schematics & Dossier avec les schémas électroniques correspondant aux exemples \ \hline
+ \begin{tabular}{|c|p{12cm}|}\hline
+ \textbf{Dossiers à la racine} & \textbf{Description des Dossiers (répertoires)} \ \hline
+ bin & Dossier contenant les outils pour la compilation \ \hline
+ devel & Dossier contenant le code source des bibliothèques (seulement la version pour développeurs).\ \hline
+ doc & Dossier contenant la documentation pour l'utilisation des bibliothèques.\ \hline
+ examples & Dossier contenant des exemples d'utilisation (ne pas ~modifier) \ \hline
+ include & Dossier contenant la définition de toutes les fonctions des bibliothèques. \ \hline
+ lib & Dossier contenant les bibliothèques statiques prédéfinies. \ \hline
+ refman & Dossier contenant le manuel de référence des bibliothèques. \ \hline
+ schematics & Dossier contenant les schémas électroniques correspondant aux exemples \ \hline
\end{tabular}
\caption{Description des dossiers de Pic-{}Gcc-{}Library}
\end{center}
\end{table}
\section[{Méthodes de Compilation}]{\label{ID_METODPSCOMPILACION}Méthodes de Compilation}
-pour compiler un programme on dispose de deux options:
+Pour compiler un programme on dispose de deux options:
\subsection{Première Forme}
\verbatiminput{source/compila.txt}
\subsection{seconde Forme}
-./compila.sh ejemplo 16f877a .
-si le programme que je veux ~compiler n'est pas dans le dossier où se situe compila.sh
+./compila.sh ejemplo 16f877a . \
+(note : le point final de la commande précédente désigne le répertoire courant)
+
+Si le programme que je veux compiler n'est pas dans le dossier où se situe compila.sh :
-./compila.sh ejemplo 16f877a ~/répertoire_du_code_source
+./compila.sh ejemplo 16f877a ~/chemin/du/repertoire/
\section[{bibliothèques en Pic-{}Gcc-{}Library}]{ \label{ID_BIBLIOTECAPICGCCLIBRARY}Bibliothèques en Pic-{}Gcc-{}Library}
\begin{table}[!htp]
-\caption{Dossier dans le Dossier INCLUDE de Pic-{}Gcc-{}Library}
+\caption{Dossiers dans le dossier INCLUDE de Pic-{}Gcc-{}Library}
\begin{tabular}{|c|p{12cm}|}\hline
Dossiers & Description des Dossiers \ \hline
@@ -49,7 +51,7 @@
drivers & Contient les fonctions pour contrôler les composants externes comme: Keypad, Lcd, etc. \ \hline
pic & Contient les définitions basiques pour chaque type de PIC \ \hline
util & Dossier avec la définition de toutes les fonctions spéciales comme: "delay" \ \hline
- . & Dans le dossier racine on ~trouve les bibliothèques standard du C. \ \hline
+ . & Dans le dossier racine INCLUDE on trouve les bibliothèques standard du C. \ \hline
\end{tabular}
\end{table}
@@ -58,7 +60,7 @@
\begin{center}
\tablehead{ \hline
Microcontrôleur & Disp & Driver & Pic & Util & Libc \ \hline }
-\bottomcaption{Microcontrôleurs supportés actuellement}
+\bottomcaption{Microcontrôleurs supportés actuellement (mars 2009)}
\begin{supertabular}{|c|c|c|c|c|c|}\hline
\input{source/tabla1.3}
\end{supertabular}
@@ -81,7 +83,7 @@
\section{Bibliothèque de Dispositifs Supportés}
\begin{center}
-\bottomcaption{Dispositifs supportés actuellement}
+\bottomcaption{Dispositifs supportés actuellement (mars 2009)}
\tablehead{ \hline
$\mu$ C & \rotatebox{90}{PINIO.H} &\rotatebox{90}{UART.H} & \rotatebox{90}{COMP.H} & \rotatebox{90}{ADC.H} & \rotatebox{90}{PWM.H} & \rotatebox{90}{EEPROM.H} & \rotatebox{90}{I2C.H} & \rotatebox{90}{SPI.H} & \rotatebox{90}{FLASH.H} & \rotatebox{90}{TIMER0.H} & \rotatebox{90}{TIMER1.H} & \rotatebox{90}{TIMER2.H} & \rotatebox{90}{INTERRUPT.H} & \rotatebox{90}{SYSTEM.H} \\hline }
\begin{supertabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}\hline
Seulement dans tutoriel_gilles_1: LISEZ_MOI
diff -aur tutoriel/mod_ADC.tex tutoriel_gilles_1/mod_ADC.tex
--- tutoriel/mod_ADC.tex 2009-03-02 23:39:28.000000000 +0100
+++ tutoriel_gilles_1/mod_ADC.tex 2009-03-13 02:36:38.000000000 +0100
@@ -2,11 +2,10 @@
Auteur: Santiago Gonzalez
- Courrier: santigoro en gmail.com
+ Courrier: santigoro chez gmail.com
- Comprendre la conversion Analogique-Numérique : ici
-
- (\url{
http://es.wikipedia.org/wiki/Conversion_analogica-digital%7D)
+ Pour comprendre la conversion Analogique-Numérique voir la page : \
+ \url{
http://es.wikipedia.org/wiki/Conversion_analogica-digital%7D
Voici les fonctions pour travailler avec le module ADC 10 bits interne des PIC16F87X.
diff -aur tutoriel/mod_eeprom.tex tutoriel_gilles_1/mod_eeprom.tex
--- tutoriel/mod_eeprom.tex 2009-03-02 23:39:31.000000000 +0100
+++ tutoriel_gilles_1/mod_eeprom.tex 2009-03-13 01:53:29.000000000 +0100
@@ -13,7 +13,7 @@
void eeprom_write(BYTE data,BYTE addr);
\subsection{Exemple de Eeprom}
-pour compiler vous avez besoin des commandes suivantes :
+Pour compiler vous avez besoin des commandes suivantes :
\verb! Exemple de compilation : ./compila.sh ej_eeprom 16f877a !
diff -aur tutoriel/mod_I2C.tex tutoriel_gilles_1/mod_I2C.tex
--- tutoriel/mod_I2C.tex 2009-02-18 15:52:50.000000000 +0100
+++ tutoriel_gilles_1/mod_I2C.tex 2009-03-13 02:34:40.000000000 +0100
@@ -4,21 +4,20 @@
per.launay chez free.fr
-Le bus I2C est un bus série synchrone développé par Philips
+Le bus I2C est un bus série synchrone développé par Philips.
-Description du bus I2C :
http://fr.wikip%C3%83%C2%A9dia.org/wiki/I2C
+Description du bus I2C : \
+\url{
http://fr.wikipedia.org/wiki/I2C%7D
-Comprendre le bus I2C en espagnol \url{
http://robots-argentina.com.ar/Comunicacion_busI2c.htm%7D
-
-Voici les fonctions pour travailler avec le Module I2c en mode Maître Interne dans les PIC
+Comprendre le bus I2C en espagnol : \ \url{
http://robots-argentina.com.ar/Comunicacion_busI2c.htm%7D
+Voici les fonctions pour travailler avec le Module I2c en mode Maître Interne dans les PIC.
Avant d'utiliser ce module, on doit définir la fréquence utilisée avec la commande :
\verb! #define FOSC_HZ 4000000 !
-
\verb! #include <i2c.h> !
-Quelques définitions prédéfinies:
+Voici quelques définitions prédéfinies:
\begin{verbatim}
#define I2C_400K i2c_find_frec(400000) //frecuencia de 400Khz
#define I2C_100K i2c_find_frec(100000) //frecuencia de 100Khz
@@ -31,54 +30,60 @@
Ces définitions peuvent être utilisées dans la fonction i2c_init
\subsection{i2c_init}
-Configure le port série synchrone
+Configure le port série synchrone.
\textit{void i2c_init(unsigned char SPEED_I2C);}
-SPEED_I2C es el registro SSPADD, reloj_I2C=FOSC_HZ/(4*(SSPADD+1))
+SPEED_I2C est le registre SSPADD, reloj_I2C=FOSC_HZ/(4*(SSPADD+1))
\subsection{i2c_wait_for_idle}
Attend que le bus soit libre.
\textbf{void i2c_wait_for_idle(void);}
\subsection{ i2c_start}
-Début de trame, séquence de départ
+Début de trame, séquence de départ.
\textbf{void i2c_start(void);}
\subsection{i2c_restart}
-Recommencer une trame, fin de trame et début de trame permet de mettre 2 trames pour lire. Voir i2c_read()
+Recommencer une trame, fin de trame et début de trame permet de mettre 2 trames pour lire. Voir la fonction i2c_read()
Exemple pour lire les secondes dans une trame :
-Début de trame (start), écrire l'adresse du circuit I2c, écrire l'adresse du registre des secondes.
-Relancer une trame (restart), écrire l'adresse ducircuit I2C, lire le registre des secondes, fin de trame(stop).
+
+Début de trame (start),
+écrire l'adresse du circuit I2c,
+écrire l'adresse du registre des secondes.
+Relancer une trame (restart),
+écrire l'adresse ducircuit I2C,
+lire le registre des secondes,
+fin de trame(stop).
\textbf{void i2c_restart(void);}
\subsection{i2c_stop}
-fin de trame, séquence d'arrêt
+Fin de trame, séquence d'arrêt.
\textbf{void i2c_stop(void);}
\subsection{i2c_delay}
-Temps d'attente entre fin de trame et début de trame $>=4,7\mu s$ (fréquence d'horloge de 100KHz)
+Temps d'attente entre fin de trame et début de trame $>=4,7\mu s$ (fréquence d'horloge de 100KHz).
\textbf{void i2c_delay(void);}
\subsection{i2c_ack_read}
-réception de l'acquittement
+Réception de l'acquittement
unsigned char i2c_ack_read (v oid);
-"0" bonne réception
+"0" bonne réception.\
+"1" mauvaise réception.
-"1" mauvaise réception
\subsection{i2c_ack_write}
-émission de l'acquittement
+Ã?mission de l'acquittement.
void i2c_ack_write(unsigned char ack);
-"0" la trame peut continuer
-"1" la trame s'arrête
+"0" la trame peut continuer.\
+"1" la trame s'arrête.
\subsection{i2c_write}
-Le maître écrit dans l'esclave le caractère c, le caractère c peut être une adresse, un registre interne,
-une donnée
+Le maître écrit dans l'esclave le caractère c, le caractère c peut être une adresse,
+un registre interne, une donnée.
\textbf{void i2c_write(unsigned char c);}
\subsection{i2c_write_with_ack}
@@ -99,7 +104,7 @@
unsigned char i2c_read_with_ack(unsigned char ack);
\subsection{Exemple du Module I2C}
-Pour compilar tu as besoin des commandes suivantes
+Pour compiler vous avez besoin des commandes suivantes :
Exemple de compilation : ./compila.sh ej_i2c 16f877a
diff -aur tutoriel/mod_IO.tex tutoriel_gilles_1/mod_IO.tex
--- tutoriel/mod_IO.tex 2009-02-18 15:50:49.000000000 +0100
+++ tutoriel_gilles_1/mod_IO.tex 2009-03-13 02:17:09.000000000 +0100
@@ -8,19 +8,17 @@
�tablit une broche de sortie (PIN) à l'état haut, tension proche de VCC, vérifie l'état de \textbf{tris}
\begin{verbatim}
-void output_high_slow( BYTE puerto,
- BYTE pin);
- ejemplo:
- output_high_slow(PIN_B0);
+void output_high_slow( BYTE puerto, BYTE pin);
+/* exemple : */
+output_high_slow(PIN_B0);
\end{verbatim}
\subsection[{output_high_fast}]{\label{ID_OUTPUTHIGHFAST}output_high_fast}
�tablit une broche de sortie (PIN) à l'état haut, tension proche de VCC, ne vérifie pas l'état de \textbf{tris}
\begin{verbatim}
-void output_high_fast( BYTE puerto,
- BYTE pin);
- ejemplo:
- output_high_fast(PIN_B0);
+void output_high_fast( BYTE puerto, BYTE pin);
+/* exemple : */
+output_high_fast(PIN_B0);
\end{verbatim}
\subsection[{output_high}]{\label{ID_OUTPUTHIGH}output_high}
@@ -28,162 +26,155 @@
�tablit une broche de sortie (PIN) à l'état haut, tension proche de VCC.
La vérification de l'état de tris dépend de l'état de la macro SLOW_IO come vrai TRUE ou faux FALSE
-Par défaut, si on n'écrit pas #define SLOW_IO TRUE , SLOW_IO a la valeur TRUE
+Par défaut, si on n'écrit pas #define SLOW_IO TRUE, alors SLOW_IO a la valeur TRUE
\begin{verbatim}
#define SLOW_IO TRUE
-void output_high_fast( BYTE puerto,
- BYTE pin);
- ejemplo:
- output_high_fast(PIN_B0);
+void output_high_fast( BYTE puerto, BYTE pin);
+/* exemple : */
+output_high_fast(PIN_B0);
\end{verbatim}
\subsection[{output_low_slow}]{\label{ID_OUTPUTLOWSLOW}output_low_slow}
�tablit une broche de sortie (PIN) a l'état bas, tension proche de la masse, vérifie l'état de \textbf{tris}
\begin{verbatim}
-void output_low_slow( BYTE puerto,
- BYTE pin);
-exemple:
- output_low_slow(PIN_B0);
+void output_low_slow( BYTE puerto, BYTE pin);
+/* exemple : */
+output_low_slow(PIN_B0);
\end{verbatim}
\subsection[{output_low_fast}]{\label{ID_OUTPUTLOWFAST}output_low_fast}
�tablit une broche de sortie (PIN) a l'état bas, tension proche de la masse, ne vérifie pas l'état de \textbf{tris}
\begin{verbatim}
-void output_low_fast( BYTE puerto,
- BYTE pin);
-exemple:
- output_low_fast(PIN_B0);
+void output_low_fast( BYTE puerto, BYTE pin);
+/* exemple : */
+output_low_fast(PIN_B0);
\end{verbatim}
\subsection[{output_low}]{\label{ID_OUTPUTLOW}output_low}
-�tablit une broche de sortie (PIN) a l'état bas, tension proche de la masse,
+�tablit une broche de sortie (PIN) à l'état bas, tension proche de la masse.
La vérification de l'état de tris dépend de l'état de la macro SLOW_IO come vrai TRUE ou faux FALSE
-Par défaut, si on n'écrit pas #define SLOW_IO TRUE , SLOW_IO a la valeur TRUE
+Par défaut, si on n'écrit pas #define SLOW_IO TRUE , alors SLOW_IO a la valeur TRUE
\begin{verbatim}
-void output_low( BYTE puerto,
- BYTE pin);
-exemple:
- output_low(PIN_B0);
+void output_low( BYTE puerto, BYTE pin);
+/* exemple : */
+output_low(PIN_B0);
\end{verbatim}
\subsection[{input_slow}]{\label{ID_INPUTSLOW}input_slow}
-Retourne l'état d'une broche d'entrée (pin). peut être 1 ou 0, vérifie l'état de \textbf{tris}
+Retourne l'état d'une broche d'entrée (pin). Peut être 1 ou 0, vérifie l'état de \textbf{tris}
\begin{verbatim}
-BYTE input_slow( BYTE puerto,
- BYTE pin);
-exemple:
- input_slow(PIN_B1);
+BYTE input_slow( BYTE puerto, BYTE pin);
+/* exemple : */
+input_slow(PIN_B1);
\end{verbatim}
\subsection[{input_fast}]{\label{ID_INPUTFAST}input_fast}
-Retourne l'état d'une broche d'entrée (pin) peut être 1 ou 0, ne vérifie pas l'état de \textbf{tris}
+Retourne l'état d'une broche d'entrée (pin) peut être 1 ou 0. Ne vérifie pas l'état de \textbf{tris}
\begin{verbatim}
-BYTE input_fast( BYTE puerto,
- BYTE pin);
-exemple:
- input_fast(PIN_B1);
+BYTE input_fast( BYTE puerto, BYTE pin);
+/* exemple : */:
+input_fast(PIN_B1);
\end{verbatim}i2c_start
\subsection[{input}]{\label{ID_INPUT}input}
-Retourne l'état d'une broche d'entrée (pin). peut être 1 ou 0
-La vérification de l'état de tris dépend de l'état de la macro SLOW_IO come vrai TRUE ou faux FALSE
+Retourne l'état d'une broche d'entrée (pin). Peut être 1 ou 0
+La vérification de l'état de tris dépend de l'état de la macro SLOW_IO come vrai TRUE ou faux FALSE.
-Par défaut, si on n'écrit pas #define SLOW_IO TRUE , SLOW_IO a la valeur TRUE
+Par défaut, si on n'écrit pas #define SLOW_IO TRUE , alors SLOW_IO a la valeur TRUE.
\begin{verbatim}
-BYTE input( BYTE puerto,
- BYTE pin);
-exemple:
- input(PIN_B1);
+BYTE input( BYTE puerto, BYTE pin);
+/* exemple : */
+input(PIN_B1);
\end{verbatim}
\subsection[{set_pin_to_slow}]{ \label{ID_SETPINTOSLOW}set_pin_to_slow}
-�tablit l'état d'une broche de sortie (pin) à 1 ou 0
+�tablit l'état d'une broche de sortie (pin) à 1 ou 0.
\begin{verbatim}
void set_pin_to_slow(volatile BYTE puerto,
BYTE pin,
BYTE X);
- exemple :
- set_pin_to_slow(PIN_C1,1);//la broche C1 est maintenant à l'état haut
- set_pin_to_slow(PIN_C1,0);//la broche C1 est maintenant à l'état bas
+/* exemple : */
+set_pin_to_slow(PIN_C1,1);//la broche C1 est maintenant à l'état haut
+set_pin_to_slow(PIN_C1,0);//la broche C1 est maintenant à l'état bas
\end{verbatim}
\subsection[{set_pin_to_fast}]{ \label{ID_SETPINTOFAST}set_pin_to_fast}
-�tablit l'état d'une broche de sortie (pin) à 1 ou 0
+�tablit l'état d'une broche de sortie (pin) à 1 ou 0.
\begin{verbatim}
void set_pin_to_fast(volatile BYTE puerto,
BYTE pin,
BYTE X);
- exemple :
- set_pin_to_fast(PIN_C1,1);//la broche C1 est maintenant à l'état haut
- set_pin_to_fast(PIN_C1,0);//la broche C1 est maintenant à l'état bas
+/* exemple : */
+set_pin_to_fast(PIN_C1,1);//la broche C1 est maintenant à l'état haut
+set_pin_to_fast(PIN_C1,0);//la broche C1 est maintenant à l'état bas
\end{verbatim}
\subsection[{set_pin_to}]{ \label{ID_SETPINTO}set_pin_to}
-�tablit l'état d'une broche de sortie (pin) à 1 ou 0
+�tablit l'état d'une broche de sortie (pin) à 1 ou 0.
\begin{verbatim}
void set_pin_to(volatile BYTE puerto,
BYTE pin,
BYTE X);
- exemple :
- set_pin_to(PIN_C1,1);//la broche C1 est maintenant à l'état haut
- set_pin_to(PIN_C1,0);//la broche C1 est maintenant à l'état bas
+/* exemple : */
+set_pin_to(PIN_C1,1);//la broche C1 est maintenant à l'état haut
+set_pin_to(PIN_C1,0);//la broche C1 est maintenant à l'état bas
\end{verbatim}
\subsection[{set_pin_tris_to}]{\label{ID_SETPINTRISTO}set_pin_tris_to}
TRIS data direction register: registre de direction des données.
-�tablit le TRIS d'une ~broche à 1 ou 0
+�tablit le TRIS d'une broche à 1 ou 0.
\begin{itemize}
-\item si TRIS est à 1, la broche est en entrée
-\item si TRIS est à 0, la broche est en sortie
+\item Si TRIS est à 1, la broche est en entrée.
+\item Si TRIS est à 0, la broche est en sortie.
\end{itemize}
\begin{verbatim}
- void set_pin_tris_to(volatile BYTE *tris,
+void set_pin_tris_to(volatile BYTE *tris,
volatile BYTE *puerto,
BYTE pin,
BYTE X);
-exemple:
- set_pin_tris_to(PIN_C1,1);//el TRIS C1 à 1, C1 en entrée
- set_pin_tris_to(PIN_C1,0);//el TRIS C1 Ã 0, C1 en sortie
+/* exemple : */
+set_pin_tris_to(PIN_C1,1);//el TRIS C1 à 1, C1 en entrée
+set_pin_tris_to(PIN_C1,0);//el TRIS C1 Ã 0, C1 en sortie
\end{verbatim}
\subsection[{set_porta_as_digital}]{\label{ID_SETPORTAASDIGITAL}set_porta_as_digital}
-Ã?tablit le port A comme DIGITAL
+Ã?tablit le port A comme DIGITAL.
\begin{verbatim}
- #define set_porta_as_digital() ADCON1=0x06
- exemple:
- set_porta_as_digital();
+#define set_porta_as_digital() ADCON1=0x06
+/* exemple : */
+set_porta_as_digital();
\end{verbatim}
\subsection[{set_pullup_portb}]{ \label{ID_SETPULLUPPORTB}set_pullup_portb}
-autorise ou inhibe les résistances de tirage vers le haut (pull-{}up) du port B
+Autorise ou inhibe les résistances de tirage vers le haut (pull-{}up) du port B.
\begin{itemize}
- \item pour autoriser les résistances de tirage vers le haut (pull-{}up) X= 1 o TRUE
- \item pour inhiber ~les résistances de tirage vers le haut (pull-{}up) ~X= 0 o FALSE
+ \item Pour autoriser les résistances de tirage vers le haut (pull-{}up) X= 1 o TRUE.
+ \item Pour inhiber les résistances de tirage vers le haut (pull-{}up) X= 0 o FALSE.
\end{itemize}
void set_pullup_portb(BYTE X);
\subsection[{Exemple de PinIO}]{ \label{ID_EJEMPLOPINIO}Exemple de PinIO}
-pour compiler vous avez besoin des commandes suivantes :
+pour compiler, vous avez besoin des commandes suivantes :
\begin{verbatim}
Exemple de compilation : ~./compila.sh ej_pinio 16f877a
\end{verbatim}
diff -aur tutoriel/mod_PWM.tex tutoriel_gilles_1/mod_PWM.tex
--- tutoriel/mod_PWM.tex 2009-02-18 15:47:28.000000000 +0100
+++ tutoriel_gilles_1/mod_PWM.tex 2009-03-13 01:54:32.000000000 +0100
@@ -1,5 +1,7 @@
\section[{Module PWM}]{\label{ID_PWM}Module PWM}
-Voici les fonctions pour pouvoir travailler avec le module PWM Interne des PIC. Toutes les équations sont en secondes .Tosc est l'inverse de la fréquence du quartz FOSC_HZ.
+Voici les fonctions pour pouvoir travailler avec le module PWM interne des PIC.
+Toutes les équations sont en secondes.
+Tosc est l'inverse de la fréquence du quartz FOSC_HZ.
\verbatiminput{source/pwm.txt}
\subsection[{pwm1_set_data}]{\label{ID_PWM1SETDATA}{pwm1_set_data}}
diff -aur tutoriel/mod_UART.tex tutoriel_gilles_1/mod_UART.tex
--- tutoriel/mod_UART.tex 2009-02-18 15:49:06.000000000 +0100
+++ tutoriel_gilles_1/mod_UART.tex 2009-03-13 01:59:10.000000000 +0100
@@ -26,7 +26,7 @@
\subsection[{uart_getc}]{ \label{ID_UARTGETC}uart_getc}
-Lit un octet (byte) dans le tampon (buffer) d'entrée du port Série Asynchrone, si il n'y a rien ~attend jusqu'à l'arrivée d'un octet, la fonction est bloquante
+Lit un octet (byte) dans le tampon (buffer) d'entrée du port Série Asynchrone. S'il n'y a rien attend jusqu'à l'arrivée d'un octet. La fonction est bloquante.
~ ~ ~char uart_getc(void);
@@ -52,7 +52,7 @@
~ pour compiler vous avez besoin des commandes suivantes : ~
-\textit{Exemple de compilation : ./compila.sh ej_uart 16f877a}
+Exemple de compilation : ./compila.sh ej_uart 16f877a
ej_uart.c
\verbatiminput{source/ej_uart.c}
\ Pas de fin de ligne à la fin du fichier.
diff -aur tutoriel/presentation.tex tutoriel_gilles_1/presentation.tex
--- tutoriel/presentation.tex 2009-02-18 01:01:20.000000000 +0100
+++ tutoriel_gilles_1/presentation.tex 2009-03-13 01:27:10.000000000 +0100
@@ -3,7 +3,7 @@
\begin{LARGE}\textbf{Bibliothèque standard et de composants}\end{LARGE}\end{center}
\vspace{2cm}
\begin{center}
- \begin{LARGE} Ing. Fernando Pujaico Rivera \footnote{courriel : fernando.pujaico.rivera en gmail.com} \
+ \begin{LARGE} Ing. Fernando Pujaico Rivera \footnote{Courriel : fernando.pujaico.rivera chez gmail.com. (remplacer "chez" par "@")} \
Développeur Principal \
Chercheur \
Universidad Nacional de Ingenieria\
@@ -16,12 +16,12 @@
\vspace{2cm}
-\begin{large}traduction en français Pierre Launay per.launay chez free.fr \end{large}
+\begin{large}Traduction en français par Pierre Launay per.launay chez free.fr \end{large}
\vspace{1cm}
\begin{large}PIC-{}GCC-{}Library est un ensemble de bibliothèques pour le compilateur PIC GCC.\end{large}
\vspace{1cm}
-\begin{large}PIC GCC est un compilateur de C pour microcontrôleurs PIC de la famille 16F de Microchip \end{large}
+\begin{large}PIC GCC est un compilateur de langage C pour microcontrôleurs PIC de la famille 16F de Microchip \end{large}
diff -aur tutoriel/tutoriel.tex tutoriel_gilles_1/tutoriel.tex
--- tutoriel/tutoriel.tex 2009-02-19 00:39:44.000000000 +0100
+++ tutoriel_gilles_1/tutoriel.tex 2009-03-13 02:25:02.000000000 +0100
@@ -9,6 +9,8 @@
\usepackage[hyperlink]{docbook}
\usepackage{hyperref}
+\makeatother
+
%\hypersetup{%
%pdfcreator={DBLaTeX-0.2.9-3},%
%pdftitle={{PIC-{}GCC-{}Library}},%
Relecture de la traduction PIC_GCC (par Gilles LAMIRAL)
Problèmes rencontrés
--------------------
1)
latex tutoriel.tex
...
! LaTeX Error: File `docbook.sty' not found.
Solution :
apt-get install dblatex # pour Debian
2)
latex tutoriel.tex
...
! LaTeX Error: File `source/GtkPicGccAbout' not found.
Solution :
convert source/GtkPicGccAbout.png source/GtkPicGccAbout.eps
3) Les tables (matières, figures etc.) sont vides
Solution : lancer latex 2 fois de suite
latex tutoriel.tex
latex tutoriel.tex
4) Edition avec texmaker
texmaker tutoriel.tex
Pb: tutoriel.tex ok mais presentation.tex mal affiché (utf8/latin1)
Solution : utiliser une uxterm (un environnement en utf8)
uxterm
texmaker tutoriel.tex
5) Traduction
void output_high_slow( BYTE puerto,
BYTE pin);
/* exemple : */
output_high_slow(PIN_B0);
Comment traduire puerto ? porte ? broche ? port ?
Pourquoi 2 paramètres déclarés et un seul dans l'exemple ?
6) Comment faire un patch ?
Solution :
tar xzvf tutoriel.tar.gz # l'original
mv tutoriel tutoriel_gilles_1
# Les modifications sont alors faites
# dans le répertoire tutoriel_gilles_1/
# Après les modificationn, création du patch avec diff
tar xzvf tutoriel.tar.gz # reprise de l'original pour faire le diff
diff -aur tutoriel tutoriel_gilles_1 > pic_gcc_tutoriel_gilles_1.patch
7) Comment appliquer le patch
tar xzvf tutoriel.tar.gz # l'original
patch -u -p0 < pic_gcc_tutoriel_gilles_1.patch