Herzog Library 00.00.01  rel_libdev.herzog.00.00.01.10606
pir_sfrs.h
Go to the documentation of this file.
1 
12 #ifndef __PIR_SFRS_H__
13 #define __PIR_SFRS_H__
14 
18 typedef struct {
19  union {
20  struct {
21  uint16_t PIRC:10;
22  uint16_t PIRDIV:2;
23  uint16_t INHB:4;
24  };
25  uint16_t HWORD;
26  } CTRL;
27  union {
28  struct {
29  uint8_t ENABLE:1;
30  uint8_t :7;
31  };
32  uint8_t BYTE;
33  } ENABLE;
34  uint8_t RESERVED[98234];
35  union {
36  struct {
37  uint8_t :4;
38  uint8_t PROGATT:4;
39  };
40  uint8_t BYTE;
41  } ATTEN;
42 } PIR_SFRS_t;
43 
47 #define PIR_SFRS ((__IO PIR_SFRS_t *) (0x50000050))
48 
49 #define E_PIR_DIVIDER_STEPSIZE 8
50 #define E_PIR_ATTEN_STEPSIZE 2
51 #define PIR_DIVIDER_NOT_IN_RANGE(x) (x > 4)
52 #define PIR_COUNTER_NOT_IN_RANGE(x) (x > 1023)
53 #define PIR_INHB_NOT_IN_RANGE(x) (x < 1 || x > 15)
54 #define PIR_ATTEN_NOT_IN_RANGE(x) (x > 15)
55 
56 void PIR_Enable(void);
57 
58 void PIR_Disable(void);
59 
60 void PIR_SetCounter(uint16_t val);
61 
62 void PIR_SetDivider(uint8_t val);
63 
64 void PIR_SetInhibit(uint8_t val);
65 
66 void PIR_SetAtten(uint8_t val);
67 
68 #endif /* __PIR_SFRS_H__ */
void PIR_Disable(void)
Definition: pir_sfrs.c:19
void PIR_SetInhibit(uint8_t val)
Definition: pir_sfrs.c:34
void PIR_SetDivider(uint8_t val)
Definition: pir_sfrs.c:29
uint8_t BYTE
Definition: pir_sfrs.h:32
void PIR_SetAtten(uint8_t val)
Definition: pir_sfrs.c:39
void PIR_Enable(void)
Definition: pir_sfrs.c:14
A structure to represent Special Function Registers for PIR.
Definition: pir_sfrs.h:18
void PIR_SetCounter(uint16_t val)
Definition: pir_sfrs.c:24
uint16_t HWORD
Definition: pir_sfrs.h:25