RT-AICHIP-sample
main.c
[詳解]
1 
9 //OHTER
10 #include "LPC13xx.h"
11 #include "core_cm3.h"
12 #include "type.h"
13 //PERIHERAL
14 #include "ad.h"
15 #include "debug.h"
16 #include "i2c.h"
17 #include "io.h"
18 #include "pwm.h"
19 //#include "ssp.h"
20 #include "SystemTickTimer.h"
21 #include "timer.h"
22 #include "usbTransmission.h"
23 #include "uart.h"
24 //AICHIP
25 #include "AICHIPFunction.h"
26 #include "mpu9150.h"
27 #include "UserInterface.h"
28 //MODE
29 #include "modeSelect.h"
30 //USB
31 #include "usb.h"
32 #include "usbcfg.h"
33 #include "usbhw.h"
34 #include "usbcore.h"
35 #include "cdc.h"
36 #include "cdcuser.h"
37 
39 void init(void);
41 
48 int main (void)
49 {
50  volatile uint8_t dummy;
51  init();
52 
53  tryUSBConnect(); //USB接続を試みる
54  if(isUSBConfig() == 1) flashRedLED(300,300);//USBの接続使用
55  else flashRedLED(100,100); //USBの接続不使用
56 
57  //左スイッチが押されていた場合は外部からのコマンド入力受付と機体情報の出力のみを行う
58  wait1msec(50);
59  if(getLeftSWcount()>0){
60  setSendDataEnable(1); //マシンデータを送信開始
61  //LEDを一回だけ点滅させる
62  turnRedLED(1);
63  turnGreenLED(1);
64  wait1msec(500);
65  turnRedLED(0);
66  turnGreenLED(0);
67  wait1msec(500);
68  while(1)
69  {
70  dummy++; //Infinite loop
71  }
72  }
73 
74 
75  setSendDataEnable(1); //マシンデータを送信開始
76 
77  while(1) //Infinite loop
78  {
79  modeSelect(); //モード選択を実行
80  };
81 
82  return 0;
83 }
84 
85 
92 void init(void)
93 {
94  //IOポートの初期化
95  initIO();
96  //LEDを一回だけ点滅させる
97  turnRedLED(1);
98  turnGreenLED(1);
99  wait1msec(500);
100  turnRedLED(0);
101  turnGreenLED(0);
102  wait1msec(500);
103  //各ペリフェラルの初期化
104  USBIOClkConfig();
105  initTimer32_0();
106  initTimer32_1();
107  Init_ad();
108  //SSPInit();
109  USB_Init();
110  UARTInit(115200);
111  while (!I2CInit((uint32_t)I2CMASTER)); // I2Cの初期化が終わるまで待つ
112  //9軸センサの初期化
113  initMPU6050();
114  initAK8975();
115  initOmegaRef(); //ジャイロのリファレンスを取得
116  //UIの初期化
117  initUI();
118  initAICHIP();
119 }
120 
121 /******************************************************************************
122 ** End Of File
123 ******************************************************************************/
void init(void)
Definition: main.c:92
void modeSelect(void)
Definition: modeSelect.c:48
void initOmegaRef(void)
Definition: mpu9150.c:366
void initTimer32_1(void)
Definition: timer.c:58
void initUI(void)
Definition: UserInterface.c:58
void UARTInit(uint32_t Baudrate)
Definition: uart.c:106
void USB_Init(void)
Definition: usbhw.c:160
#define I2CMASTER
Definition: i2c.h:19
CMSIS Cortex-M3 Core Peripheral Access Layer Header File.
unsigned char uint8_t
Definition: type.h:27
void flashRedLED(uint16_t on_count, uint16_t off_count)
uint32_t I2CInit(uint32_t I2cMode)
Definition: i2c.c:221
void USBIOClkConfig(void)
Definition: usbhw.c:40
void Init_ad(void)
Definition: ad.c:14
void initMPU6050(void)
Definition: mpu9150.c:54
void initAICHIP(void)
void initAK8975(void)
Definition: mpu9150.c:106
void initTimer32_0(void)
Definition: timer.c:17
uint8_t tryUSBConnect(void)
uint8_t isUSBConfig(void)
void initIO(void)
Definition: io.c:18
uint16_t getLeftSWcount(void)
Definition: UserInterface.c:98
void turnRedLED(uint8_t state)
void wait1msec(uint32_t wait_count)
void turnGreenLED(uint8_t state)
int main(void)
Definition: main.c:48
void setSendDataEnable(uint8_t en)
unsigned int uint32_t
Definition: type.h:29