iCar
board.h
[詳解]
1 
6 #ifndef board_H
7 #define board_H
8 
9 
10 #include <stdint.h>
11 #include <stdbool.h>
12 #include <string.h>
13 #include <math.h>
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 
25 #define PROGMEM const
26 
27 
32 #define HIGH (0x01)
33 
38 #define LOW (0x00)
39 
40 
45 #define INPUT (0x00)
46 
51 #define OUTPUT (0x01)
52 
57 #define INPUT_PULLUP (0x02)
58 
59 
60 #define PI (3.1415926535897932384626433832795)
61 #define HALF_PI (1.5707963267948966192313216916398)
62 #define TWO_PI (6.283185307179586476925286766559)
63 #define DEG_TO_RAD (0.017453292519943295769236907684886)
64 #define RAD_TO_DEG (57.295779513082320876798154814105)
65 #define EULER (2.718281828459045235360287471352)
66 
67 
72 #define DEFAULT (0)
73 
79 #define EXTERNAL (DEFAULT)
80 
86 #define INTERNAL (DEFAULT)
87 
88 
96 #define min(a, b) ((a) < (b) ? (a) : (b))
97 
105 #define max(a, b) ((a) > (b) ? (a) : (b))
106 
115 #define constrain(amt, low, high) (((amt) < (low)) ? (low) : ((amt) > (high) ? (high) : (amt)))
116 
121 #define round(x) (((x) >= 0) ? ((long)((x) + 0.5)) : ((long)((x) - 0.5)))
122 
127 #define radians(deg) ((deg) * DEG_TO_RAD)
128 
133 #define degrees(rad) ((rad) * RAD_TO_DEG)
134 
139 #define sq(x) ((x) * (x))
140 
141 
147 #define interrupts() asm volatile ("SETPSW I")
148 
155 #define noInterrupts() asm volatile ("CLRPSW I")
156 
157 
162 #define lowByte(w) ((uint8_t)((w) & 0xFF))
163 
168 #define highByte(w) ((uint8_t)((((uint32_t)(w)) >> 8) & 0xFF))
169 
170 
178 #define bitRead(value, bit) ((((uint32_t)(value)) >> (bit)) & 0x01)
179 
187 #define bitSet(value, bit) ((value) |= (0x01UL << (bit)))
188 
196 #define bitClear(value, bit) ((value) &= ~(0x01UL << (bit)))
197 
206 #define bitWrite(value, bit, bitvalue) ((bitvalue) ? bitSet(value, bit) : bitClear(value, bit))
207 
208 
214 #define _NOP() asm volatile ("NOP")
215 
216 
223 #define bit(b) (1UL << (b))
224 
225 typedef bool boolean;
226 typedef uint8_t byte;
227 typedef uint16_t word;
228 
229 
230 void pinMode(uint8_t pin, uint8_t mode);
231 void digitalWrite(uint8_t pin, uint8_t val);
232 int digitalRead(uint8_t pin);
233 int analogRead(uint8_t pin);
234 void analogReference(uint8_t mode);
235 void analogWrite(uint8_t pin, int val);
236 
237 
238 uint32_t millis(void);
239 uint32_t micros(void);
240 void delay(uint32_t ms);
241 void delayMicroseconds(uint32_t us);
242 
243 
244 #ifdef __cplusplus
245 }
246 #endif
247 
248 
249 #ifdef __cplusplus
250 #include "WCharacter.h"
251 #include "WString.h"
252 #include "HardwareSerial.h"
253 
254 
255 void tone(uint8_t pin, unsigned int frequency, unsigned long duration = 0);
256 void noTone(uint8_t pin);
257 
258 
265 long random(long);
266 
274 long random(long, long);
275 
280 void randomSeed(unsigned long);
281 
290 long map(long, long, long, long, long);
291 #endif
292 
293 
299 void setup();
300 
305 void loop();
306 
307 
308 #include "pins.h"
309 
310 
311 #endif
void loop()
プログラムのメイン処理
void analogReference(uint8_t mode)
アナログ基準電圧を設定する
Definition: port.c:120
void randomSeed(unsigned long)
乱数のシードを設定する
Definition: WMath.cpp:28
uint32_t millis(void)
プログラム起動からのミリ秒を返す
Definition: timer.c:15
void delay(uint32_t ms)
指定したミリ秒待機する
Definition: timer.c:35
Pin定義
void analogWrite(uint8_t pin, int val)
Pinにアナログ出力値を設定する
Definition: port.c:130
HardwareSerial for RX
void pinMode(uint8_t pin, uint8_t mode)
Pinのモードを設定する
Definition: port.c:27
long random(long)
0から指定した値 - 1までの乱数を生成する
Definition: WMath.cpp:35
int digitalRead(uint8_t pin)
Pinの現在のデジタル入力値を取得する
Definition: port.c:70
uint32_t micros(void)
プログラム起動からのマイクロ秒を返す
Definition: timer.c:25
void setup()
セットアップ処理
void tone(uint8_t pin, unsigned int frequency, unsigned long duration=0)
指定した周波数の矩形波を生成
Definition: Tone.cpp:19
void noTone(uint8_t pin)
toneで開始された矩形波の生成を停止
Definition: Tone.cpp:32
void delayMicroseconds(uint32_t us)
指定したマイクロ秒待機する
Definition: timer.c:56
long map(long, long, long, long, long)
引数で指定された値を線形補完した値を返す
Definition: WMath.cpp:52
int analogRead(uint8_t pin)
Pinの現在のアナログ入力値を取得する
Definition: port.c:91
void digitalWrite(uint8_t pin, uint8_t val)
Pinにデジタル出力値を設定する
Definition: port.c:37