HWA
Bare metal programming with style
inta_2.h
Go to the documentation of this file.
1
2
/* This file is part of the HWA project.
3
* Copyright (c) 2012,2015 Christophe Duparquet.
4
* All rights reserved. Read LICENSE.TXT for details.
5
*/
6
27
#define hw_configure__inta , _hw_cfinta
28
#define _hw_cfinta( o,a, ...) _hw_cfinta_(_hw,o,__VA_ARGS__,)
29
30
#define hwa_configure__inta , _hwa_cfinta
31
#define _hwa_cfinta( o,a, ...) _hw_cfinta_(_hwa,o,__VA_ARGS__,)
32
33
34
/* Mandatory argument `sense`
35
*/
36
#define _hw_cfinta_(h,o,k,...) HW_BW(_hw_cfinta1,sense,k)(h,o,k,__VA_ARGS__)
37
#define _hw_cfinta10(h,o,k,...) HW_E(HW_EM_AN(k,sense))
38
#define _hw_cfinta11(h,o,k,v,...) HW_BV(_hw_cfinta11,intasense_,v,o,h)(__VA_ARGS__) // PUSH
39
#define _hw_cfinta110(v,o,h) HW_E(HW_EM_VAL(v,sense,(low_level,edge,falling_edge,rising_edge))) HW_EAT // POP
40
#define _hw_cfinta111(v,o,h) h##_write(o,sc,v) HW_EOL // POP
41
42
#define _hw_intasense_low_level , 0
43
#define _hw_intasense_edge , 1
44
#define _hw_intasense_falling_edge , 2
45
#define _hw_inta1sense_rising_edge , 3
46
47
Generated for HWA by
1.8.6