Het boek Programming the finite state machines is een leuk boek om door te werken en geeft een uitstekende uitleg.
In het boek worden de Microchips PIC 12F1822 en 16F1823 gebruikt waar ik even naar moest zoeken (bij elektor kon ik ze niet vinden).
Uiteindelijk heb ik ze bij de firma : www.voti.nl gevonden (heeft een wat oudere website) tevens wordt in het boek naar een kabel verwezen waarvan elektor de 3v3 uitvoering heeft maar je hebt de 5v uitvoering nodig (is enkel in het buitenland te krijgen)
Daarom heb ik bij voti de Wisp648 besteld en de XWisp software gedownload waarmee je vele PIC`s kan programmeren en dit werkte uitstekend.
Het enige nadeel was dat ik zelf even een serial_writer.c en serial_reader.c programma moest schrijven voor de RasPi om diverse hoofdstukken door te werken (uitgelezen via cp210x met extra 5v pin en/of serial port op RasPi. Let op benodigde spanning deling : Pic(tx5v)--1k--RasPi(rx3v3)--2.2k---gnd ).
Helaas kon ik deze programmatjes niet in deze review er bij plakken (was geen knop voor).
De volgende kleine foutjes en/of verbeteringen voor de uniformiteit kwam ik tegen in het boek :
blz 45 GOTO M1_S2 : The jump .... if W = 1 moet GOTO M1_S2 : The jump .... if W = 2 zijn
blz 49 verwijder #INCLUDE wordt pas vanaf hoofdstuk 3 gebruikt en voegt niets toe in het programma prog_02_03.asm
blz 154 TRISAbits.TRISA2 vervangen door TRISA2 en PORTAbits.RA2 vervangen door RA2 de compiler geeft hier geen fout maar staat niet in documentatie compiler
Blz 160 verwijder pulse_counter_slow en pulse_counter_fast geeft geen fout maar worden niet gebruikt in het programma
Blz 163 vervang else if (tick_couter < 122*12) door else if ((tick_counter >=122*8) && (tick_couter < 122*12)) progr_09_04
blz 164 INTCONbits.TMR0IF = 0 vervang door TMR0IF = 0 en TRISAbits.TRISA4 = 0 door TRISA4 = 0 beide werken maar het voorloop gedeelte staat niet in documentatie compiler en wordt eigenlijk niet in boek gebruikt
blz 167 Oplossing is natuurlijk dat bij de initalisatie van het programma LATA4 = 0 is bij anode display en moet 1 zijn om het streepje in het midden van de 8 weg te halen
blz 170 count++ en read = counter%s worden niet gebruikt prog_09_08 dus kunnen ook gewoon verwijderd worden.