Kul med PIC församling - episod 4 (4 / 4 steg)
Steg 4: programvara
Programvaran länk nedan. Medan det är måltavlan för 16F688, är det lätt portas till andra versioner av bilden. Se bara till att du väljer en som med asynkron seriell port förmåga. Du måste också ändra raden som identifierar den PIC versionen (lista =) och INCLUDE-filen men de är intuitivt förändringar. Den __CONFIG linjen kan också behöva tweaking bara för att en eller två av de etiketter som används är stavat fel i några av inkluderade filer.
Programvaran är egentligen ganska enkelt eftersom vi bara kolla för inmatning av data från Bluetooth och sedan skicka tillbaka det rätt ut till Bluetooth. Init_Serial konfigurerar porten för 9600 baud (Bluetooth standard rate) och gör både mottagare och sändare för asynkron åtgärd. Main_Loop avsöker bara flaggan mottagare avbrott som blir efter mottagandet av en byte. Om flaggan är angiven kallas data hanteraren för att läsa byten och kontrollera sedan för att se om det finns sändnings bufferten. I så fall kopieras den mottagna byten till sändnings bufferten för utdata. I själva verket data läses in i sändnings registret och PIC laddar automatiskt det i produktionen skiftregister när det blir tillgängligt. Flaggan sändnings avbrott sätts om transmit register är tom, även om sändnings skiftregister inte är tom. I denna enkla applikation poll vi både Inleverera och sändnings avbrott flaggorna i stället för faktiskt så att de kan avbryta programvaran. Om vi hade mycket mer saker som händer, som tid intensiv bearbetning av data, vill vi att ställa in faktiska avbryta hanterare. Overflow rutin är en fel hanterare ifall vi får fler databitar fick innan vi kan läsa registret och avmarkera flaggan avbrott.
Tja, är det det för Episode 4 av "Kul med PIC församlingen". Som utlovat, kommer att Episode 5 utöka vår Bluetooth roliga genom att använda det för att styra en liten bil. Håll ögonen öppna för det.