RT-USB-9AXIS-00
総合概要
モジュール
データ構造
ファイル
ファイル一覧
大域各種
main.c
[詳解]
1
13
//#define VER_1_0_COMPATIBLE_NO_MODE_SELECT
14
15
//OHTER
16
#include "LPC13xx.h"
17
#include "
core_cm3.h
"
18
#include "type.h"
19
//PERIHERAL
20
#include "ad.h"
21
#include "debug.h"
22
#include "i2c.h"
23
#include "io.h"
24
#include "pwm.h"
25
#include "SystemTickTimer.h"
26
#include "timer.h"
27
#include "usbTransmission.h"
28
#include "uart.h"
29
//MAIN
30
#include "MainFunction.h"
31
#include "mpu9250.h"
32
#include "
UserInterface.h
"
33
#include "EEPROM_24LC16BT_I.h"
34
35
//MODE
36
#include "modeSelect.h"
37
//USB
38
#include "usb.h"
39
#include "usbcfg.h"
40
#include "usbhw.h"
41
#include "usbcore.h"
42
#include "cdc.h"
43
#include "cdcuser.h"
44
46
void
init
(
void
);
48
58
int
main
(
void
)
59
{
60
init
();
61
flashRedLED
(50,300);
//USBの接続使用
62
tryUSBConnect();
//USB接続を試みる
63
setSendDataEnable
(1);
//データを送信開始
64
65
while
(1)
66
{
67
if
(isUSBConfig() == 1)
flashRedLED
(300,300);
//USBの接続使用
68
else
flashRedLED
(100,100);
//USBの接続不使用
69
70
71
#ifndef VER_1_0_COMPATIBLE_NO_MODE_SELECT
72
if
(
getSWcount
()>3000){
73
while
(
getSWcount
() != 0);
74
setSendDataEnable
(0);
75
stopTimerInterruptMainFunction
();
76
//LEDを一回だけ点滅させる
77
wait1msec(500);
78
turnRedLED
(1);
79
wait1msec(500);
80
turnRedLED
(0);
81
wait1msec(500);
82
flashRedLED
(30,30);
83
//モードセレクトを呼び出す
84
//ver1.0と互換性を持たせる場合はモード選択は行わない
85
86
modeSelect();
87
startTimerInterruptMainFunction
();
88
setSendDataEnable
(1);
//データを送信開始
89
}
90
#endif
91
}
92
93
return
0;
94
}
95
102
void
init
(
void
)
103
{
104
//IOポートの初期化
105
initIO();
106
//LEDを一回だけ点滅させる
107
turnRedLED
(1);
108
wait1msec(500);
109
turnRedLED
(0);
110
wait1msec(500);
111
//各ペリフェラルの初期化
112
USBIOClkConfig();
113
initTimer32_0();
114
initTimer32_1();
115
USB_Init();
116
while
(!I2CInit((uint32_t)I2CMASTER));
// I2Cの初期化が終わるまで待つ
117
//9軸センサの初期化
118
initMPU9250
();
119
initAK8963
();
120
initOffsetByEEPROM
();
121
//出力データの形式をEEPROMから読み込みセットする
122
setOutputMode
(
readEEPROMOutputMode
());
123
124
//UIの初期化
125
initUI
();
126
startTimerInterruptMainFunction
();
127
128
}
129
130
/******************************************************************************
131
** End Of File
132
******************************************************************************/
init
void init(void)
Definition:
main.c:102
readEEPROMOutputMode
uint8_t readEEPROMOutputMode(void)
Definition:
MainFunction.c:82
stopTimerInterruptMainFunction
void stopTimerInterruptMainFunction(void)
Definition:
MainFunction.c:52
setOutputMode
void setOutputMode(uint8_t mode)
Definition:
MainFunction.c:92
initUI
void initUI(void)
Definition:
UserInterface.c:53
getSWcount
uint16_t getSWcount(void)
Definition:
UserInterface.c:78
initOffsetByEEPROM
void initOffsetByEEPROM()
Definition:
mpu9250.c:1040
startTimerInterruptMainFunction
void startTimerInterruptMainFunction(void)
Definition:
MainFunction.c:39
initMPU9250
void initMPU9250(void)
Definition:
mpu9250.c:72
core_cm3.h
CMSIS Cortex-M3 Core Peripheral Access Layer Header File.
flashRedLED
void flashRedLED(uint16_t on_count, uint16_t off_count)
Definition:
UserInterface.c:203
initAK8963
void initAK8963(void)
Definition:
mpu9250.c:136
UserInterface.h
LED,SW,電源電圧の監視等の機能の実装
turnRedLED
void turnRedLED(uint8_t state)
Definition:
UserInterface.c:163
setSendDataEnable
void setSendDataEnable(uint8_t en)
Definition:
MainFunction.c:63
main
int main(void)
Definition:
main.c:58
RT-USB-9AXIS-sample
src
MAIN
main.c
構築:
1.8.10