PicChess (5 / 8 steg)
Steg 5: Tangentbord, seriell, temperatur, NVM
Te mperature rutin
Det finns bara en funktion readTemp() som använder adc för att få ett värde från sensor LM35. Detta värde sedan skalas för att få en 10 couts per ºC heltal som representerar den aktuella temperaturen.
Seriella rutin
Använde bara skicka characteres eller sträng via RS232 anslutning till en pc, används främst för felsökning.
Tangentbord
Denna rutin är fullt indepent använder den är själv avbrott att hantera tangentbord comunnication. Data som skickas med tangentbordet är avkodas och behandlas i den här modulen och värdena sparas i en cirkulär FIFO-bufferten. Den huvudsakliga funktionen behöver bara använda getKey att ta emot den senaste nedtryckt.
Icke flyktigt minne
SST25 minneschip behövs för att lagra ljudet används av schackspelet. Den har ett SPI gränssnitt så en SPI-modul används.
Comunnication är straightfoward som förklaras i datasheed. Vissa funktioner läggs till att kapsla in minneskrets, dessa är initiering, byteRead, blockRead, byteWrite, blockWrite, chipErase, namnet är självförklarande. För det mesta chippet läses bara i block för att refil ljud bufferten och det är allt som finns bara ett samtal till readBlock i rutinen ljud.