Induktans/kapacitans mätare Saga (13 / 17 steg)
Steg 13: Nya krävs utvecklingsverktyg och programvara för Ver C
Att hitta en C-kompilator för Atmel chip var inga problem. Jag hade redan en mycket anständig en från Imagecraft (från 10 år sedan). Det köras under Win XP och använder en hårdvara dongle på en parallellport (mitt val) som en licens. Kompilatorn passerar sin produktion *. HEX filen till Atmels verktyg, Studio + (också 10 år gammal). Den kommunicerar med en Atmel gränssnitt gizmo (AVR-ISP) som ansluts till den bärbara datorer COM1 seriella porten och in i en 10-stifts programmerare port i styrelsen. Denna port är på schematiskt J2. Du måste vara mycket noga med att få MISO & MOSI anslutningarna på rätt sätt runt men när dess allt korrekt ansluten det kan fungera som smort. Inte bara min.
Var det AVR-ISP eller COM1-porten på den bärbara datorn i mitt labb? Efter att ha provat många saker på den bärbara datorn inklusive koppla olika saker till COM1-porten, sondering AVR-ISP och kontrollera/ombyggnad olika kablar. Ingenting hjälpte. Atmel har en nyare version av deras AVR-ISP (AVR-ISP Mk II för $45 från Digi-Key) och från Atmels webbplats är gratis Studio + verktyg med stöd för USB så jag fick dem efter ungefär en vecka. Installera dem gick utan problem (förvånade mig!) och nedladdningar gick vidare. USB är så mycket mer tillförlitliga än RS-232 som vem som helst som har överlevt på 1980-talet kan intyga att.
Eftersom detta chip har så mycket mer i vägen för resurser (många avbrott för kringutrustning, tre timers med prescalers, multiplicera instruktioner (Ja, plural) och mer stackutrymme i motsats till de snåla två nivåerna av subrutin samtal tillåtna i bilder) kan koden organiseras på ett mer rättframt sätt med en huvudlinjen, display avbrottstjänstens rutin och andra funktioner så att alla dessa saker arbetat öppet att den andras handlingar. Jag hade inte blanda beräkningarna med displayen multiplexering, etc.
Med PCB slutligen fast och sw verktyg faktiskt arbetar plöjde jag vidare på koden. Det används ca 28 procent av den tillgängliga rum inklusive oavsett floating-point rutiner kompilatorn skulle innehålla. Eftersom värdena för inbyggda L och C var programmerats in koden i uH och pf, resp, det beräknade värdet skulle vara i samma enheter. Det var bara en fråga om skiftande visningsvärdet vänster eller höger och belysning korrekt decimalkommat så att visningen var rätt. Så display auto-spänner och med ledande noll dämpning. Det enda jag lämnade ut var ett par lysdioder för att berätta om behandlingen är i nf eller pf (eller mH eller uH), men jag tänkte att om jag inte kunde gissa att själv jag inte borde har byggt enheten alls.
BTW: på denna tid den HDD i min laptop beslutat att ge upp spöket och jag var tvungen att köpa en annan XP-laptop, men det är en annan historia. (Lyckligtvis hade jag en säkerhetskopia av s/w hittills.)