blob: e0c49b289ed898291dda69def781c51977b1d258 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
/*""FILE COMMENT""*******************************************************
* System Name : 12-bit ADC converter API for RX62Nxx
* File Name : r_pdl_adc_12.h
* Version : 1.02
* Contents : ADC_12 function prototypes
* Customer :
* Model :
* Order :
* CPU : RX
* Compiler : RXC
* OS :
* Programmer :
* Note :
************************************************************************
* Copyright, 2011. Renesas Electronics Corporation
* and Renesas Solutions Corporation
************************************************************************
* History : 2011.04.08
* : Ver 1.02
* : CS-5 release.
*""FILE COMMENT END""**************************************************/
#ifndef R_PDL_ADC_12_H
#define R_PDL_ADC_12_H
#include "r_pdl_common_defs_RX62Nxx.h"
/* Function prototypes */
bool R_ADC_12_Create(
uint8_t,
uint32_t,
uint16_t,
uint16_t,
void *,
uint8_t
);
bool R_ADC_12_Destroy(
uint8_t
);
bool R_ADC_12_Control(
uint8_t
);
bool R_ADC_12_Read(
uint8_t,
uint16_t *
);
/* Scan mode */
#define PDL_ADC_12_SCAN_SINGLE 0x00000001ul
#define PDL_ADC_12_SCAN_CONTINUOUS 0x00000002ul
// Input channel selection
#define PDL_ADC_12_CHANNEL_0 0x00000004ul
#define PDL_ADC_12_CHANNEL_1 0x00000008ul
#define PDL_ADC_12_CHANNEL_2 0x00000010ul
#define PDL_ADC_12_CHANNEL_3 0x00000020ul
#define PDL_ADC_12_CHANNEL_4 0x00000040ul
#define PDL_ADC_12_CHANNEL_5 0x00000080ul
#define PDL_ADC_12_CHANNEL_6 0x00000100ul
#define PDL_ADC_12_CHANNEL_7 0x00000200ul
/* Clock division */
#define PDL_ADC_12_DIV_1 0x00000400ul
#define PDL_ADC_12_DIV_2 0x00000800ul
#define PDL_ADC_12_DIV_4 0x00001000ul
#define PDL_ADC_12_DIV_8 0x00002000ul
/* Data alignment */
#define PDL_ADC_12_DATA_ALIGNMENT_LEFT 0x00004000ul
#define PDL_ADC_12_DATA_ALIGNMENT_RIGHT 0x00008000ul
/* Result register clearing */
#define PDL_ADC_12_RETAIN_RESULT 0x00010000ul
#define PDL_ADC_12_CLEAR_RESULT 0x00020000ul
/* DMAC / DTC trigger control */
#define PDL_ADC_12_DMAC_DTC_TRIGGER_DISABLE 0x00040000ul
#define PDL_ADC_12_DMAC_TRIGGER_ENABLE 0x00080000ul
#define PDL_ADC_12_DTC_TRIGGER_ENABLE 0x00100000ul
/* Trigger selection */
#define PDL_ADC_12_TRIGGER_SOFTWARE 0x0001u
#define PDL_ADC_12_TRIGGER_ADTRG0 0x0002u
#define PDL_ADC_12_TRIGGER_MTU0_ICCM_A 0x0004u
#define PDL_ADC_12_TRIGGER_MTU0_ICCM_B 0x0008u
#define PDL_ADC_12_TRIGGER_MTU0_MTU4_ICCM 0x0010u
#define PDL_ADC_12_TRIGGER_MTU6_MTU10_ICCM 0x0020u
#define PDL_ADC_12_TRIGGER_MTU0_CM_E 0x0040u
#define PDL_ADC_12_TRIGGER_MTU0_CM_F 0x0080u
#define PDL_ADC_12_TRIGGER_MTU4_CM 0x0100u
#define PDL_ADC_12_TRIGGER_MTU10_CM 0x0200u
#define PDL_ADC_12_TRIGGER_TMR0 0x0400u
#define PDL_ADC_12_TRIGGER_TMR2 0x0800u
/* Pin selection */
#define PDL_ADC_12_PIN_ADTRG0_A 0x1000u
#define PDL_ADC_12_PIN_ADTRG0_B 0x2000u
/* Value addition mode selection */
#define PDL_ADC_12_VALUE_ADD_CHANNEL_0 0x0001u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_1 0x0002u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_2 0x0004u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_3 0x0008u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_4 0x0010u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_5 0x0020u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_6 0x0040u
#define PDL_ADC_12_VALUE_ADD_CHANNEL_7 0x0080u
/* Value addition count selection */
#define PDL_ADC_12_VALUE_ADD_TIME_1 0x0100u
#define PDL_ADC_12_VALUE_ADD_TIME_2 0x0200u
#define PDL_ADC_12_VALUE_ADD_TIME_3 0x0400u
#define PDL_ADC_12_VALUE_ADD_TIME_4 0x0800u
/* On / off control */
#define PDL_ADC_12_0_ON 0x01u
#define PDL_ADC_12_0_OFF 0x02u
/* CPU control */
#define PDL_ADC_12_CPU_OFF 0x04u
#endif
/* End of file */
|