<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://fablabo.net/index.php?action=history&amp;feed=atom&amp;title=Programmer_l%27ATmega328P_sans_Arduino</id>
	<title>Programmer l&#039;ATmega328P sans Arduino - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://fablabo.net/index.php?action=history&amp;feed=atom&amp;title=Programmer_l%27ATmega328P_sans_Arduino"/>
	<link rel="alternate" type="text/html" href="https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;action=history"/>
	<updated>2026-05-19T07:37:10Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35438&amp;oldid=prev</id>
		<title>Sylvainmahe le 23 octobre 2021 à 11:22</title>
		<link rel="alternate" type="text/html" href="https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35438&amp;oldid=prev"/>
		<updated>2021-10-23T11:22:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 23 octobre 2021 à 13:22&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Ligne 25 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 25 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Exemple complet de lecture ADC avec l&amp;#039;ATmega328P (via votre carte Arduino UNO ou pas) :&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Exemple complet de lecture ADC avec l&amp;#039;ATmega328P (via votre carte Arduino UNO ou pas) :&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc07569.jpg|vignette|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gauche&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc07569.jpg|vignette|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;centré&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc01673.jpg|vignette|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gauche&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc01673.jpg|vignette|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;centré&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc08343.jpg|vignette|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;gauche&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc08343.jpg|vignette|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;centré&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La première chose à prendre en considération lorsque nous souhaitons programmer le microcontrôleur d&amp;#039;une carte Arduino UNO, est la fiche technique de l&amp;#039;ATmega328P : [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf fiche technique de l&amp;#039;ATmega328P]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La première chose à prendre en considération lorsque nous souhaitons programmer le microcontrôleur d&amp;#039;une carte Arduino UNO, est la fiche technique de l&amp;#039;ATmega328P : [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf fiche technique de l&amp;#039;ATmega328P]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sylvainmahe</name></author>
	</entry>
	<entry>
		<id>https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35437&amp;oldid=prev</id>
		<title>Sylvainmahe le 23 octobre 2021 à 11:21</title>
		<link rel="alternate" type="text/html" href="https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35437&amp;oldid=prev"/>
		<updated>2021-10-23T11:21:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 23 octobre 2021 à 13:21&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Ligne 25 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 25 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Exemple complet de lecture ADC avec l&amp;#039;ATmega328P (via votre carte Arduino UNO ou pas) :&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Exemple complet de lecture ADC avec l&amp;#039;ATmega328P (via votre carte Arduino UNO ou pas) :&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc07569.jpg|vignette]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc07569.jpg|vignette&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|gauche&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc01673.jpg|vignette]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc01673.jpg|vignette&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|gauche&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc08343.jpg|vignette]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Dsc08343.jpg|vignette&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|gauche&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La première chose à prendre en considération lorsque nous souhaitons programmer le microcontrôleur d&amp;#039;une carte Arduino UNO, est la fiche technique de l&amp;#039;ATmega328P : [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf fiche technique de l&amp;#039;ATmega328P]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La première chose à prendre en considération lorsque nous souhaitons programmer le microcontrôleur d&amp;#039;une carte Arduino UNO, est la fiche technique de l&amp;#039;ATmega328P : [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf fiche technique de l&amp;#039;ATmega328P]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sylvainmahe</name></author>
	</entry>
	<entry>
		<id>https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35436&amp;oldid=prev</id>
		<title>Sylvainmahe le 23 octobre 2021 à 10:53</title>
		<link rel="alternate" type="text/html" href="https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35436&amp;oldid=prev"/>
		<updated>2021-10-23T10:53:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 23 octobre 2021 à 12:53&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l70&quot;&gt;Ligne 70 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 70 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dans le programme la première chose à écrire se sont les directives préprocesseur des adresses de registres dont vous allez avoir besoin :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dans le programme la première chose à écrire se sont les directives préprocesseur &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;qui permettent d’appeler les pointeurs &lt;/ins&gt;des adresses de registres dont vous allez avoir besoin :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCSRA (*(volatile unsigned char *)(0x7a))&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCSRA (*(volatile unsigned char *)(0x7a))&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADMUX (*(volatile unsigned char *)(0x7c))&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADMUX (*(volatile unsigned char *)(0x7c))&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l100&quot;&gt;Ligne 100 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 100 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nous souhaitons démarrer le convertisseur analogique/numérique, et effectuer une lecture d&amp;#039;une façon périodique, c&amp;#039;est pourquoi nous pouvons écrire deux fonctions : startAnalog et readAnalog&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nous souhaitons démarrer le convertisseur analogique/numérique, et effectuer une lecture d&amp;#039;une façon périodique, c&amp;#039;est pourquoi nous pouvons écrire deux fonctions : startAnalog et readAnalog&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Nul besoin de plus dans cette fonction principale.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;Nul besoin de plus dans cette fonction principale.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l121&quot;&gt;Ligne 121 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 121 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La fiche technique du microcontrôleur indique que la ligne du convertisseur analogique/numérique a une capacité de 14pF.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La fiche technique du microcontrôleur indique que la ligne du convertisseur analogique/numérique a une capacité de 14pF.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Soit le calcul du temps alloué à la charge &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;du condensateur &lt;/del&gt;de 14pF à la fréquence du multiplexeur : &amp;lt;br/&amp;gt;&#039;&#039;&#039;1000000µs / (16000000Hz / 32) = 2µs&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Soit le calcul du temps alloué à la charge &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de la capacité &lt;/ins&gt;de 14pF à la fréquence du multiplexeur : &amp;lt;br/&amp;gt;&#039;&#039;&#039;1000000µs / (16000000Hz / 32) = 2µs&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La formule de charge &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;du condensateur &lt;/del&gt;de 14pF avec une impédance d&#039;entrée de 1kΩ (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le condensateur &lt;/del&gt;est &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considéré &lt;/del&gt;assez &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargé &lt;/del&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La formule de charge &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de la capacité &lt;/ins&gt;de 14pF avec une impédance d&#039;entrée de 1kΩ (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la capacité &lt;/ins&gt;est &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considérée &lt;/ins&gt;assez &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargée &lt;/ins&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;1000Ω * 0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t &lt;/del&gt;= 0.00000007s = 70ns&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;1000Ω * 0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ &lt;/ins&gt;= 0.00000007s = 70ns&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 1kΩ en entrée le condensateur met 70ns à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 1kΩ en entrée le condensateur met 70ns à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La formule de charge &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;du condensateur &lt;/del&gt;de 14pF avec une impédance d&#039;entrée de 100kΩ (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le condensateur &lt;/del&gt;est &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considéré &lt;/del&gt;assez &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargé &lt;/del&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La formule de charge &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de la capacité &lt;/ins&gt;de 14pF avec une impédance d&#039;entrée de 100kΩ (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la capacité &lt;/ins&gt;est &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considérée &lt;/ins&gt;assez &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargée &lt;/ins&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;100000Ω * 0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t &lt;/del&gt;= 0.000007s = 7µs&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;100000Ω * 0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ &lt;/ins&gt;= 0.000007s = 7µs&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 100kΩ en entrée le condensateur met 7µs à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 100kΩ en entrée le condensateur met 7µs à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Toujours dans la fiche technique du microcontrôleur, il est indiqué que le multiplexeur du convertisseur analogique numérique peut fonctionner avec une impédance en entrée de 1kΩ à 100kΩ, ceci est cohérent avec le choix du pré-diviseur d&#039;horloge qui peut aller de 2 à 128, cela se retrouve par calcul (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le condensateur &lt;/del&gt;est &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considéré &lt;/del&gt;assez &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargé &lt;/del&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Toujours dans la fiche technique du microcontrôleur, il est indiqué que le multiplexeur du convertisseur analogique numérique peut fonctionner avec une impédance en entrée de 1kΩ à 100kΩ, ceci est cohérent avec le choix du pré-diviseur d&#039;horloge qui peut aller de 2 à 128, cela se retrouve par calcul (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la capacité &lt;/ins&gt;est &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considérée &lt;/ins&gt;assez &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargée &lt;/ins&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 2)) / (0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;) = 1785.714Ω ≈ 1.7kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 2)) / (0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;) = 1785.714Ω ≈ 1.7kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 128)) / (0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;) = 114285.714Ω ≈ 114kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 128)) / (0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;) = 114285.714Ω ≈ 114kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il est indiqué également que le convertisseur analogique/numérique est optimisé pour une impédance en entrée de 10kΩ, ci-dessous la formule de charge &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;du condensateur &lt;/del&gt;de 14pF avec une impédance d&#039;entrée de 10kΩ (&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le condensateur &lt;/del&gt;est &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considéré &lt;/del&gt;assez &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargé &lt;/del&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Il est indiqué également que le convertisseur analogique/numérique est optimisé pour une impédance en entrée de 10kΩ, ci-dessous la formule de charge &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de la capacité &lt;/ins&gt;de 14pF avec une impédance d&#039;entrée de 10kΩ (&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la capacité &lt;/ins&gt;est &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;considérée &lt;/ins&gt;assez &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargée &lt;/ins&gt;à partir de 99% soit 5 fois la constante de temps) :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;10000Ω * 0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t &lt;/del&gt;= 0.0000007s = 700ns&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;10000Ω * 0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ &lt;/ins&gt;= 0.0000007s = 700ns&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 10kΩ en entrée le condensateur met 700ns à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec une impédance de 10kΩ en entrée le condensateur met 700ns à se charger à 99%.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En respect de la fiche technique du microcontrôleur évoquant une optimisation avec une impédance de 10kΩ, un pré-diviseur d&amp;#039;horloge par exemple de 32 convient comme le montre le calcul suivant :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;En respect de la fiche technique du microcontrôleur évoquant une optimisation avec une impédance de 10kΩ, un pré-diviseur d&amp;#039;horloge par exemple de 32 convient comme le montre le calcul suivant :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;((1 / (16000000Hz / 32)) / 0.000000000014F) / 10000Ω = 14.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;285t &lt;/del&gt;≈ 14t&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;((1 / (16000000Hz / 32)) / 0.000000000014F) / 10000Ω = 14.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;285τ &lt;/ins&gt;≈ 14t&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Le condensateur sera chargé au dela de 99% (puisque 99% = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Le condensateur sera chargé au dela de 99% (puisque 99% = &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contrairement à ce qui est souvent dit, une fréquence de fonctionnement du microcontrôleur plus élevée n&amp;#039;est pas forcément intéressante, un exemple avec une fréquence de microcontrôleur plus basse réglée sur 8MHz :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Contrairement à ce qui est souvent dit, une fréquence de fonctionnement du microcontrôleur plus élevée n&amp;#039;est pas forcément intéressante, un exemple avec une fréquence de microcontrôleur plus basse réglée sur 8MHz :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (8000000Hz / 2)) / (0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;) = 3571.428Ω ≈ 3.5kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (8000000Hz / 2)) / (0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;) = 3571.428Ω ≈ 3.5kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (8000000Hz / 128)) / (0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;) = 228571.428Ω ≈ 228kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (8000000Hz / 128)) / (0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;) = 228571.428Ω ≈ 228kΩ&#039;&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Les calculs ci-dessus montrent que la capacité de la ligne du convertisseur analogique/numérique sera davantage chargée avec un microcontrôleur cadencé à 8MHz, mais cela signifie qu&amp;#039;avec une impédance d&amp;#039;entrée de 1kΩ vous pouvez dans les deux cas (8MHz ou 16MHz) choisir un pré-diviseur d&amp;#039;horloge de 2 seulement, en revanche avec une impédance d&amp;#039;entrée de 100kΩ il faut choisir un pré-diviseur d&amp;#039;horloge de 128 pour un microcontrôleur cadencé à 16Mhz, et un pré-diviseur d&amp;#039;horloge de 128 ou 64 pour un microcontrôleur cadencé à 8Mhz.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Les calculs ci-dessus montrent que la capacité de la ligne du convertisseur analogique/numérique sera davantage chargée avec un microcontrôleur cadencé à 8MHz, mais cela signifie qu&amp;#039;avec une impédance d&amp;#039;entrée de 1kΩ vous pouvez dans les deux cas (8MHz ou 16MHz) choisir un pré-diviseur d&amp;#039;horloge de 2 seulement, en revanche avec une impédance d&amp;#039;entrée de 100kΩ il faut choisir un pré-diviseur d&amp;#039;horloge de 128 pour un microcontrôleur cadencé à 16Mhz, et un pré-diviseur d&amp;#039;horloge de 128 ou 64 pour un microcontrôleur cadencé à 8Mhz.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Calcul de l&#039;impédance maximale en entrée en fonction du pré-diviseur d&#039;horloge de 32 pour charger &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;le condensateur &lt;/del&gt;à 99% :&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Calcul de l&#039;impédance maximale en entrée en fonction du pré-diviseur d&#039;horloge de 32 pour charger &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;la capacité &lt;/ins&gt;à 99% :&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 32)) / (0.000000000014F * &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5t&lt;/del&gt;) = 28571,428Ω ≈ 28kΩ&#039;&#039;&#039; max en entrée&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;&#039;&#039;&#039;(1 / (16000000Hz / 32)) / (0.000000000014F * &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;5τ&lt;/ins&gt;) = 28571,428Ω ≈ 28kΩ&#039;&#039;&#039; max en entrée&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec 10kΩ en entrée, un microcontrôleur cadencé à 16MHz, et un pré-diviseur d&#039;horloge de 32, la charge &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;du condensateur aurra &lt;/del&gt;largement le temps de faire plus que 5 x la constante de temps et donc de se charger à plus de 99%.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br/&amp;gt;Avec 10kΩ en entrée, un microcontrôleur cadencé à 16MHz, et un pré-diviseur d&#039;horloge de 32, la charge &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;de la capacité aura &lt;/ins&gt;largement le temps de faire plus que 5 x la constante de temps et donc de se charger à plus de 99%.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Maintenant vous pouvez renseigner un octet cohérent avec votre matériel pour le registre ADCSRA !&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Maintenant vous pouvez renseigner un octet cohérent avec votre matériel pour le registre ADCSRA !&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Si vous n&#039;utilisez qu&#039;un port ADC vous ne verrez sans doute pas de phénomène négatif au fait d&#039;utiliser une impédance d&#039;entrée trop élevée par rapport à la fréquence de multiplexage choisie, car la capacité sera &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;remplie &lt;/del&gt;sur plusieurs échantillons successifs, mais la malfaçon n&#039;en reste pas moins présente et sera bien visible lorsque vous utiliserez plusieurs ports.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;br/&amp;gt;&lt;/ins&gt;Si vous n&#039;utilisez qu&#039;un port ADC vous ne verrez sans doute pas de phénomène négatif au fait d&#039;utiliser une impédance d&#039;entrée trop élevée par rapport à la fréquence de multiplexage choisie, car la capacité sera &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chargée &lt;/ins&gt;sur plusieurs échantillons successifs, mais la malfaçon n&#039;en reste pas moins présente et sera bien visible lorsque vous utiliserez plusieurs ports.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sylvainmahe</name></author>
	</entry>
	<entry>
		<id>https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35435&amp;oldid=prev</id>
		<title>Sylvainmahe : Page créée avec « {{Tutoriel |status_pub=Publié |image=Dsc01541.jpg |description=Faire fonctionner le convertisseur analogique/numérique |compétences requises=Débutant C/C++ |license=GP... »</title>
		<link rel="alternate" type="text/html" href="https://fablabo.net/index.php?title=Programmer_l%27ATmega328P_sans_Arduino&amp;diff=35435&amp;oldid=prev"/>
		<updated>2021-10-22T20:59:25Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « {{Tutoriel |status_pub=Publié |image=Dsc01541.jpg |description=Faire fonctionner le convertisseur analogique/numérique |compétences requises=Débutant C/C++ |license=GP... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Tutoriel&lt;br /&gt;
|status_pub=Publié&lt;br /&gt;
|image=Dsc01541.jpg&lt;br /&gt;
|description=Faire fonctionner le convertisseur analogique/numérique&lt;br /&gt;
|compétences requises=Débutant C/C++&lt;br /&gt;
|license=GPL : GNU General Public License&lt;br /&gt;
|contributeurs=Sylvain Mahé,&lt;br /&gt;
}}&lt;br /&gt;
Bonjour à tous les membres de PING.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
J&amp;#039;ai eu envie d&amp;#039;écrire ce petit tuto au fil de l&amp;#039;écoute des conversations à l&amp;#039;association, en effet il me semble important d&amp;#039;apporter des éléments de compréhension et de calculs à chacun pour les cartes Arduino UNO (autant commencer par le commencement) afin de programmer le microcontrôleur ATmega328P en restant dans les spécifications constructeur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ici nous allons commencer par quelque chose de simple, lire une broche de la carte Arduino reliée en interne au convertisseur analogique/numérique du microcontrôleur ATmega328P, ceci sans utiliser l&amp;#039;ide Arduino car il bride la compréhension du fonctionnement interne du microcontrôleur.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette idée m&amp;#039;est venue en entendant la phrase suivante : &amp;quot;Je peux faire lire à ma carte Arduino un signal avec une impédance de 1MΩ en entrée du convertisseur analogique/numérique.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vous allez voir que cette affirmation est importante, car qui prendra cette info pourra y croire et faire des montages qui ne fonctionneront pas, ou fonctionneront dans certaines conditions extrêmes et extrêmement spécifiques qui dérogent complètement à la fiche technique du microcontrôleur considéré.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Exemple complet de lecture ADC avec l&amp;#039;ATmega328P (via votre carte Arduino UNO ou pas) :&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:Dsc07569.jpg|vignette]]&lt;br /&gt;
[[Fichier:Dsc01673.jpg|vignette]]&lt;br /&gt;
[[Fichier:Dsc08343.jpg|vignette]]&lt;br /&gt;
&lt;br /&gt;
La première chose à prendre en considération lorsque nous souhaitons programmer le microcontrôleur d&amp;#039;une carte Arduino UNO, est la fiche technique de l&amp;#039;ATmega328P : [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf fiche technique de l&amp;#039;ATmega328P]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
À l&amp;#039;aide de cette fiche technique nous pouvons écrire le programme suivant qui est complet (je vais expliquer les différentes lignes après) :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCSRA (*(volatile unsigned char *)(0x7a))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADMUX (*(volatile unsigned char *)(0x7c))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCLH (*(volatile unsigned int *)(0x78))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;void startAnalog()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;_ADCSRA = 0b10000101;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;unsigned int readAnalog()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;_ADMUX = 0b01000000;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;_ADCSRA |= 0b01000000;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;while ((_ADCSRA &amp;amp; 0b01000000) != 0b00000000)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;return _ADCLH;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;int main()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;startAnalog();&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;while (true)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;readAnalog();&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;return 0;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cet exemple est minimaliste mais permet sans bibliothèque additionnelle et sans ide Arduino de faire fonctionner le convertisseur analogique/numérique du microcontrôleur connecté sur la broche PC0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans le programme la première chose à écrire se sont les directives préprocesseur des adresses de registres dont vous allez avoir besoin :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCSRA (*(volatile unsigned char *)(0x7a))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADMUX (*(volatile unsigned char *)(0x7c))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;#define _ADCLH (*(volatile unsigned int *)(0x78))&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ADCSRA permet de démarrer le convertisseur analogique/numérique, de choisir le pré-diviseur d&amp;#039;horloge, et aussi de démarrer une conversion et de savoir si elle s&amp;#039;est terminée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ADMUX permet d&amp;#039;indiquer le bon canal connecté à la bonne broche que nous souhaitons lire, et d&amp;#039;indiquer si la référence de tension est interne ou externe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ADCLH est la valeur numérique sur 10 bits de la tension mesurée sur le canal choisi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction principale :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;int main()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;startAnalog();&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;while (true)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;readAnalog();&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;return 0;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nous souhaitons démarrer le convertisseur analogique/numérique, et effectuer une lecture d&amp;#039;une façon périodique, c&amp;#039;est pourquoi nous pouvons écrire deux fonctions : startAnalog et readAnalog&lt;br /&gt;
Nul besoin de plus dans cette fonction principale.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fonction startAnalog est très simple, mais renseigner un octet cohérent pour ce registre ADCSRA mérite que l&amp;#039;on s&amp;#039;y attarde plus qu&amp;#039;un petit peu :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;void startAnalog()&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;#039;&amp;#039;&amp;#039;_ADCSRA = 0b10000101;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Détail de l&amp;#039;octet 0b10000101 :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;_ADCSRA = 0b10000101;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;ADC activé &amp;amp; pré-diviseur d&amp;#039;horloge = 32&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fréquence du microcontrôleur est de 16MHz.&lt;br /&gt;
La fréquence du multiplexeur du convertisseur analogique numérique est donc égale à :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;16000000Hz / 32 = 500000Hz = 500kHz&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La fiche technique du microcontrôleur indique que la ligne du convertisseur analogique/numérique a une capacité de 14pF.&lt;br /&gt;
&amp;lt;br/&amp;gt;Soit le calcul du temps alloué à la charge du condensateur de 14pF à la fréquence du multiplexeur : &amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;1000000µs / (16000000Hz / 32) = 2µs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La formule de charge du condensateur de 14pF avec une impédance d&amp;#039;entrée de 1kΩ (le condensateur est considéré assez chargé à partir de 99% soit 5 fois la constante de temps) :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;1000Ω * 0.000000000014F * 5t = 0.00000007s = 70ns&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Avec une impédance de 1kΩ en entrée le condensateur met 70ns à se charger à 99%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La formule de charge du condensateur de 14pF avec une impédance d&amp;#039;entrée de 100kΩ (le condensateur est considéré assez chargé à partir de 99% soit 5 fois la constante de temps) :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;100000Ω * 0.000000000014F * 5t = 0.000007s = 7µs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Avec une impédance de 100kΩ en entrée le condensateur met 7µs à se charger à 99%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Toujours dans la fiche technique du microcontrôleur, il est indiqué que le multiplexeur du convertisseur analogique numérique peut fonctionner avec une impédance en entrée de 1kΩ à 100kΩ, ceci est cohérent avec le choix du pré-diviseur d&amp;#039;horloge qui peut aller de 2 à 128, cela se retrouve par calcul (le condensateur est considéré assez chargé à partir de 99% soit 5 fois la constante de temps) :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;(1 / (16000000Hz / 2)) / (0.000000000014F * 5t) = 1785.714Ω ≈ 1.7kΩ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;(1 / (16000000Hz / 128)) / (0.000000000014F * 5t) = 114285.714Ω ≈ 114kΩ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il est indiqué également que le convertisseur analogique/numérique est optimisé pour une impédance en entrée de 10kΩ, ci-dessous la formule de charge du condensateur de 14pF avec une impédance d&amp;#039;entrée de 10kΩ (le condensateur est considéré assez chargé à partir de 99% soit 5 fois la constante de temps) :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;10000Ω * 0.000000000014F * 5t = 0.0000007s = 700ns&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Avec une impédance de 10kΩ en entrée le condensateur met 700ns à se charger à 99%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En respect de la fiche technique du microcontrôleur évoquant une optimisation avec une impédance de 10kΩ, un pré-diviseur d&amp;#039;horloge par exemple de 32 convient comme le montre le calcul suivant :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;((1 / (16000000Hz / 32)) / 0.000000000014F) / 10000Ω = 14.285t ≈ 14t&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Le condensateur sera chargé au dela de 99% (puisque 99% = 5t).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Contrairement à ce qui est souvent dit, une fréquence de fonctionnement du microcontrôleur plus élevée n&amp;#039;est pas forcément intéressante, un exemple avec une fréquence de microcontrôleur plus basse réglée sur 8MHz :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;(1 / (8000000Hz / 2)) / (0.000000000014F * 5t) = 3571.428Ω ≈ 3.5kΩ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;(1 / (8000000Hz / 128)) / (0.000000000014F * 5t) = 228571.428Ω ≈ 228kΩ&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Les calculs ci-dessus montrent que la capacité de la ligne du convertisseur analogique/numérique sera davantage chargée avec un microcontrôleur cadencé à 8MHz, mais cela signifie qu&amp;#039;avec une impédance d&amp;#039;entrée de 1kΩ vous pouvez dans les deux cas (8MHz ou 16MHz) choisir un pré-diviseur d&amp;#039;horloge de 2 seulement, en revanche avec une impédance d&amp;#039;entrée de 100kΩ il faut choisir un pré-diviseur d&amp;#039;horloge de 128 pour un microcontrôleur cadencé à 16Mhz, et un pré-diviseur d&amp;#039;horloge de 128 ou 64 pour un microcontrôleur cadencé à 8Mhz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Calcul de l&amp;#039;impédance maximale en entrée en fonction du pré-diviseur d&amp;#039;horloge de 32 pour charger le condensateur à 99% :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;(1 / (16000000Hz / 32)) / (0.000000000014F * 5t) = 28571,428Ω ≈ 28kΩ&amp;#039;&amp;#039;&amp;#039; max en entrée&lt;br /&gt;
&amp;lt;br/&amp;gt;Avec 10kΩ en entrée, un microcontrôleur cadencé à 16MHz, et un pré-diviseur d&amp;#039;horloge de 32, la charge du condensateur aurra largement le temps de faire plus que 5 x la constante de temps et donc de se charger à plus de 99%.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Maintenant vous pouvez renseigner un octet cohérent avec votre matériel pour le registre ADCSRA !&lt;br /&gt;
Si vous n&amp;#039;utilisez qu&amp;#039;un port ADC vous ne verrez sans doute pas de phénomène négatif au fait d&amp;#039;utiliser une impédance d&amp;#039;entrée trop élevée par rapport à la fréquence de multiplexage choisie, car la capacité sera remplie sur plusieurs échantillons successifs, mais la malfaçon n&amp;#039;en reste pas moins présente et sera bien visible lorsque vous utiliserez plusieurs ports.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La suite est plus succinct, explications de la fonction readAnalog :&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;_ADMUX = 0b01000000;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;C&amp;#039;est le port PC0 relié à l&amp;#039;ADC0 (convertisseur analogique/numérique canal 0) &amp;amp; le choix de la broche AVCC pour l&amp;#039;alimentation du convertisseur analogique/numérique et référence de tension avec condensateur externe via la broche AREF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ADCSRA |= 0b01000000;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Correspond au démarrage d&amp;#039;une conversion analogique/numérique.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;while ((_ADCSRA &amp;amp; 0b01000000) != 0b00000000)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;{&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;#039;&amp;#039;&amp;#039;}&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;Ceci boucle tant que la conversion n&amp;#039;est pas terminée, le bit repasse à 0 si elle est terminée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;return _ADCLH;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;C&amp;#039;est la valeur numérique sur 10 bits de la tension mesurée sur PC0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Il ne manque plus qu&amp;#039;à compiler le programme avec avr-gcc, le compilateur gcc dédiée au microcontrôleurs d&amp;#039;architecture AVR, et le téléverser dans le circuit intégré avec avrdude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
N&amp;#039;hésitez pas si vous avez des questions et/ou des suggestions à apporter.&lt;/div&gt;</summary>
		<author><name>Sylvainmahe</name></author>
	</entry>
</feed>