Stap 3: Hoe draad werkt
De afbeeldingen tonen u de tijdsinstellingen en de niveaus die u respecteren moet om te kunnen communiceren. Een PIN-code instellen op een ingang is gedaan door het instellen van de corresponderende TRIS bit naar '1', draaien in de output betekent een '0' op die positie bits.
Blussen van een '0' op de pin wordt gedaan door simpelweg te zeggen GPx = 0; waarbij x het nummer van de pin GPIO is verbonden u uw aansluiting aan.
Zodat dit instructable dat zo compleet als het kan, ik zal u de volledige code (hoewel ik niet echt het idee van het niet geven in alle dingen werken). Ik ben niet gevoelig voor iedereen om zijn of haar projecten te voltooien met behulp van deze code, u vermelden (of niet) voor u om te beslissen waar de code vandaan is.
De code zelf is duidelijk, de tijdsinstellingen met timer 1, in de polling-modus zijn aangebracht. Ik wilde niet het project met interrupt service routines wegjaagt. Ik enkel de markering wissen, instellen van de timer om me te geven de juiste timing en wacht totdat de vlag weer wordt ingesteld. Dit gebeurt wanneer TMR1 regsiter van 65535 op 0 verandert.
Hoe kleiner de waarde in het, hoe langer het duurt voor de markering in te stellen. Dat is allen daar is aan het!
Kortere timings niet echt de moeite waard om te worden gedaan op deze manier, ik gebruikte inline asm opdrachten om dat te doen. Een enkele nop duurt precies één instructiecyclus te voltooien, die - in ons geval - 1 microseconde.
De macro's werden gebruikt om de code schoon te houden.