RXduino
1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
メインページ
関連ページ
クラス
ファイル
ファイル一覧
ファイルメンバ
core
rxduino
wiring.h
説明を見る。
1
/*******************************************************************************
2
* RXduinoライブラリ & 特電HAL
3
*
4
* このソフトウェアは特殊電子回路株式会社によって開発されたものです。
5
* 当社Webサイトを通じてダウンロードすることによって使用許諾されます。
6
* このファイルを第三者へ開示・再配布・貸与・譲渡することはできません。
7
* このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8
* りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9
* お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10
* 引用していただくことができます。
11
* コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
12
* であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
13
* (C) Copyright 2011-2014 TokushuDenshiKairo Inc. 特殊電子回路株式会社
14
* http://rx.tokudenkairo.co.jp/
15
*******************************************************************************/
16
17
#ifndef WIRING_H_
18
#define WIRING_H_
19
/**************************************************************************/
23
#define PI 3.1415926535
24
#define HALF_PI 1.5707963267
25
#define TWO_PI 6.2831853071
26
#define DEG_TO_RAD 0.0174532925
27
#define RAD_TO_DEG 57.295779513
28
#define min(a,b) ((a)<(b)?(a):(b))
29
#define max(a,b) ((a)>(b)?(a):(b))
30
31
// undefine stdlib's abs if encountered
32
#ifdef abs
33
#undef abs
34
#endif
35
36
37
38
39
/*********************************************************************/
45
//inline unsigned long bit(unsigned long b);
46
#define bit(b) (1UL << (b))
47
48
/*********************************************************************/
54
//inline unsigned char lowByte(unsigned long w);
55
#define lowByte(w) ((uint8_t) ((w) & 0xff))
56
57
/*********************************************************************/
63
//inline unsigned char highByte(unsigned long w);
64
#define highByte(w) ((uint8_t) ((w) >> 8))
65
66
/*********************************************************************/
73
//inline unsigned long bitRead(unsigned long value, int bit);
74
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
75
76
/*********************************************************************/
83
//inline void bitSet(unsigned long value, int bit);
84
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
85
86
/*********************************************************************/
93
//inline void bitClear(unsigned long value, int bit);
94
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
95
96
/*********************************************************************/
103
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
104
//inline void bitWrite(unsigned long value, int bit, int bitvalue);
105
106
/*********************************************************************/
113
#define min(a,b) ((a)<(b)?(a):(b))
114
115
/*********************************************************************/
122
#define max(a,b) ((a)>(b)?(a):(b))
123
124
/*********************************************************************/
130
//inline int abs(int x);
131
#define abs(x) ((x)>0?(x):-(x))
132
133
/*********************************************************************/
142
//inline int constrain(int amt, int low, int high);
143
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
144
145
/*********************************************************************/
152
//inline long round(double x);
153
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
154
155
/*********************************************************************/
161
//inline double radians(double deg);
162
#define radians(deg) ((deg)*DEG_TO_RAD)
163
164
/*********************************************************************/
170
//inline double degrees(double rad);
171
#define degrees(rad) ((rad)*RAD_TO_DEG)
172
173
/*********************************************************************/
179
//inline int sq(int x);
180
#define sq(x) ((x)*(x))
181
182
/*********************************************************************/
188
#define log10(x) (log(x)/log(10))
189
190
191
/*********************************************************************/
205
#define map(x,in_min,in_max,out_min,out_max) \
206
(((x) - (in_min)) * ((out_max) - (out_min)) / ((in_max) - (in_min)) + (out_min))
207
208
// 〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
209
// 以下の関数,マクロはwiring.hに定義されているものであるが,ここではコメントアウトしている
210
/*
211
#define SERIAL 0x0
212
#define DISPLAY 0x1
213
214
#define LSBFIRST 0
215
#define MSBFIRST 1
216
217
#define CHANGE 1
218
#define FALLING 2
219
#define RISING 3
220
221
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
222
#define INTERNAL1V1 2
223
#define INTERNAL2V56 3
224
#else
225
#define INTERNAL 3
226
#endif
227
#define DEFAULT 1
228
#define EXTERNAL 0
229
230
#define abs(x) ((x)>0?(x):-(x))
231
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))
232
#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
233
#define radians(deg) ((deg)*DEG_TO_RAD)
234
#define degrees(rad) ((rad)*RAD_TO_DEG)
235
#define sq(x) ((x)*(x))
236
237
#define interrupts() sei()
238
#define noInterrupts() cli()
239
240
#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L )
241
#define clockCyclesToMicroseconds(a) ( ((a) * 1000L) / (F_CPU / 1000L) )
242
#define microsecondsToClockCycles(a) ( ((a) * (F_CPU / 1000L)) / 1000L )
243
244
#define lowByte(w) ((uint8_t) ((w) & 0xff))
245
#define highByte(w) ((uint8_t) ((w) >> 8))
246
247
#define bitRead(value, bit) (((value) >> (bit)) & 0x01)
248
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
249
#define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
250
#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
251
#define bit(b) (1UL << (b))
252
253
typedef unsigned int word;
254
*/
255
256
#ifdef __cplusplus
257
extern
"C"
{
258
#endif
259
260
#ifdef __cplusplus
261
}
262
#endif
263
264
#endif
/* WIRING_H_ */
RXduinoに対してSun Jun 29 2014 01:00:35に生成されました。
1.8.5