Ultrasonic hinder att undvika Robot (9 / 16 steg)
Steg 9: Firmware utveckling, intressanta aspekter, inspiration
Som en allmän tanke föreslår jag alla att hålla koden så modulära som möjligt. Detta sätt - om du behöver en del av det för ett framtida projekt - du kan helt enkelt släppa c och h filer i ditt andra projekt. Efter 20 + projekt har du massor av dessa filer, och projektutveckling blir super snabbt tack vare denna drivrutin samling. Lägg lite möda i modularitet, är det värt det.
När du kom över din LED blinkar framgångsrikt, är det dags att bygga upp en bas, tid så kan du enkelt planera vad du gör och när du gör det. Jag använda brukar Timer0 för att generera bas. Jag satt upp denna timer modul att ge mig ett avbrott var millisekunder, och jag räknar avbrotten i min huvudloop. Jag sätter upp några kod grenar som kör på varje 1 [ms], 10 [ms], 100 [ms] eller en 1 [s]. Dessa genomfördes med hjälp av enkla if-else-satser.
Jag tog inspiration från projekt från arbete, internet, och gav särskild uppmärksamhet åt foruminlägg och böcker som behandlar bra projektstruktur. Efter att titta på den sista raden som har texten till varje källa eller header arkivera, räknar jag ~ 1840 kodrader. Om jag visste att jag kan ha kvar detta projekt för en lättare tid...