Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:software:homelab:library:pin [2010/02/12 11:56] mikk.leiniet:software:homelab:library:pin [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 8: Line 8:
  
   * **//pin//** \\ Viigu registrite ja bitimaski hoidmise struktuurne andmetüüp. //pin//-tüüpi muutujad on konstantsed ja need tuleb väärtustada kohe programmi alguses. Väärtustamise lihtsustamiseks on makrofunktsioon //PIN//, mille esimene parameeter on siini tähis (suur ladina täht A, B, C, jne) ja teine viigu number (0-7).    * **//pin//** \\ Viigu registrite ja bitimaski hoidmise struktuurne andmetüüp. //pin//-tüüpi muutujad on konstantsed ja need tuleb väärtustada kohe programmi alguses. Väärtustamise lihtsustamiseks on makrofunktsioon //PIN//, mille esimene parameeter on siini tähis (suur ladina täht A, B, C, jne) ja teine viigu number (0-7). 
 +
 +===== Konstandid =====
 +  * **//led_debug, led_green, led_yellow, led_red//** - Kodulabori kasutajaliidese plaadi LEDid värvide järgi ning debug LED kontrollerplaadil
 +  * **//LED0, LED1, LED2, LED3//** - Kodulabori kasutajaliidese plaadi LEDid numbrite järgi
 +  * **//S0, S1, S2, S3//** - Kodulabori kasutajaliidese plaadi nupud ning S0 nupp kontrollerplaadil
  
 ===== Funktsioonid ===== ===== Funktsioonid =====
Line 32: Line 37:
     * //pin// - Viigu muutuja.     * //pin// - Viigu muutuja.
     * Tagastab tõeväärtuse.     * Tagastab tõeväärtuse.
 +  * **//bool button_read(pin pin)//** \\ Viigu sisendi oleku lugemine läbi lüliti väreluse filtri ja selle tagastamine. Filtreerimine toimub minimaalselt 8 ms ja maksimaalselt 100 ms jooksul - olenevalt sellest, kui kiiresti lüliti värelemine lõppeb. Kui värelemine 100 ms jooksul ei lõpe, siis funktsioon tagastab //false//. Funktsioon kasutab tarkvaralist pausi funktsiooni viite teegist. Parameetrid: 
 +    * //pin// - Viigu muutuja. 
 +    * Tagastab 1 kui nupp on vajutatud. 
 +    * Tagastab 0 kui nupp ei ole vajutatud. 
 +  * **//void led_on(pin pin)//** \\ Süütab valgusdioodi väljundis. Parameetrid: 
 +    * //pin// - Viigu muutuja. 
 +  * **//void led_off(pin pin)//** \\ Kustutab valgusdioodi väljundis. Parameetrid: 
 +    * //pin// - Viigu muutuja.
 ===== Näide ===== ===== Näide =====
  
Line 65: Line 77:
 </code> </code>
  
 +led_on, led_off, button_read käskude kasutamise näide.
 +<code c>
 +#include <homelab/pin.h>
 + 
 +// Kodulabori nupud ja LEDid on teegis eeldefineeritud 
 +// ja neid pole vaja uuesti defineerida
 +
 +int main(void)
 +{
 + // Viigu väljundiks seadistamine
 + pin_setup_output(led_green);
 +
 + // Viigu pull-up takistiga sisendiks seadistamine
 + pin_setup_input_with_pullup(S1);
 +
 + // Lõputu tsükkel
 + while (true)
 + {
 + // Kui nupp on vajutatud, süüta LED, vastasel juhul kustuta
 + if(button_read(S1) == true)
 + led_on(led_green);
 + else
 + led_off(led_green);
 + }
 +}
 +</code>
et/software/homelab/library/pin.1265968604.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0