sim808_gprs&lsy201&mpu9150 without gps change and BT

Dependencies:   MPU9150 Nucleo_printf_gps mbed

Committer:
donghuoyinzi
Date:
Wed Jun 21 03:30:31 2017 +0000
Revision:
0:1d7eec4b8813
401FUSION

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donghuoyinzi 0:1d7eec4b8813 1 // I2Cdev and MPU9150 must be installed as libraries, or else the .cpp/.h files
donghuoyinzi 0:1d7eec4b8813 2 // for both classes must be in the include path of your project
donghuoyinzi 0:1d7eec4b8813 3 #include "I2Cdev.h" //MPU9150's I2C (I2C_SDA D14,I2C_SCL D15)
donghuoyinzi 0:1d7eec4b8813 4 #include "MPU9150.h"
donghuoyinzi 0:1d7eec4b8813 5 #include "helper_3dmath.h"
donghuoyinzi 0:1d7eec4b8813 6 #include "mbed.h"
donghuoyinzi 0:1d7eec4b8813 7 #include "JPEGCamera.h"
donghuoyinzi 0:1d7eec4b8813 8 #include "MPU9150_raw.h"
donghuoyinzi 0:1d7eec4b8813 9 #include <cstring>
donghuoyinzi 0:1d7eec4b8813 10 #include "string.h"
donghuoyinzi 0:1d7eec4b8813 11 #define buf_max 200
donghuoyinzi 0:1d7eec4b8813 12
donghuoyinzi 0:1d7eec4b8813 13 Serial control(SERIAL_TX, SERIAL_RX);
donghuoyinzi 0:1d7eec4b8813 14 JPEGCamera camera(PA_9, PA_10);//D8,D2
donghuoyinzi 0:1d7eec4b8813 15 //Serial gps(PA_11, PA_12);
donghuoyinzi 0:1d7eec4b8813 16 Serial sim808(PA_11, PA_12); // arduino pin right seven(PA_11) , six(PA_12)
donghuoyinzi 0:1d7eec4b8813 17
donghuoyinzi 0:1d7eec4b8813 18 Timer timer;
donghuoyinzi 0:1d7eec4b8813 19 int16_t ax, ay, az;
donghuoyinzi 0:1d7eec4b8813 20 int16_t gx, gy, gz;
donghuoyinzi 0:1d7eec4b8813 21 int16_t mx, my, mz;
donghuoyinzi 0:1d7eec4b8813 22 int16_t buf9150[10];
donghuoyinzi 0:1d7eec4b8813 23 char buffer1[256];
donghuoyinzi 0:1d7eec4b8813 24 //volatile int sig=0;
donghuoyinzi 0:1d7eec4b8813 25 //volatile int i=0;
donghuoyinzi 0:1d7eec4b8813 26 int First_Int = 0; //receive count
donghuoyinzi 0:1d7eec4b8813 27 char sim_buf[buf_max]; //receive buffer data
donghuoyinzi 0:1d7eec4b8813 28 char *content="HELLO,This is a test"; //message content
donghuoyinzi 0:1d7eec4b8813 29 char CtrlZ = 0x1a; //send direction
donghuoyinzi 0:1d7eec4b8813 30
donghuoyinzi 0:1d7eec4b8813 31 void SIM808_IRQHandler(void); //interrupt
donghuoyinzi 0:1d7eec4b8813 32 void CLR_Buf(void); //clear buffer
donghuoyinzi 0:1d7eec4b8813 33 bool Judge_SIM808(); //judge AT
donghuoyinzi 0:1d7eec4b8813 34 void Wait_CREG(void);
donghuoyinzi 0:1d7eec4b8813 35
donghuoyinzi 0:1d7eec4b8813 36 //void getline();
donghuoyinzi 0:1d7eec4b8813 37 //void callback(){
donghuoyinzi 0:1d7eec4b8813 38 // getline();
donghuoyinzi 0:1d7eec4b8813 39 // }
donghuoyinzi 0:1d7eec4b8813 40 int main()
donghuoyinzi 0:1d7eec4b8813 41 {
donghuoyinzi 0:1d7eec4b8813 42 int message = 0;
donghuoyinzi 0:1d7eec4b8813 43
donghuoyinzi 0:1d7eec4b8813 44 control.baud(115200);
donghuoyinzi 0:1d7eec4b8813 45
donghuoyinzi 0:1d7eec4b8813 46 //Camera Initialization and picture sizing
donghuoyinzi 0:1d7eec4b8813 47 timer.start();
donghuoyinzi 0:1d7eec4b8813 48 camera.setPictureSize(JPEGCamera::SIZE160x120);
donghuoyinzi 0:1d7eec4b8813 49 wait(3);
donghuoyinzi 0:1d7eec4b8813 50 //Continuously wait for commands
donghuoyinzi 0:1d7eec4b8813 51 while(1)
donghuoyinzi 0:1d7eec4b8813 52 {
donghuoyinzi 0:1d7eec4b8813 53 // if(control.readable())
donghuoyinzi 0:1d7eec4b8813 54 // {
donghuoyinzi 0:1d7eec4b8813 55 control.readable();
donghuoyinzi 0:1d7eec4b8813 56 message=control.getc();
donghuoyinzi 0:1d7eec4b8813 57 //Take a picture (note that this takes a while to complete and will only only work for 999 pictures
donghuoyinzi 0:1d7eec4b8813 58 if (message==210){ //send D2 for taking a picture
donghuoyinzi 0:1d7eec4b8813 59 camera.isReady();
donghuoyinzi 0:1d7eec4b8813 60 camera.takePicture();
donghuoyinzi 0:1d7eec4b8813 61 int image_size = camera.getImageSize();
donghuoyinzi 0:1d7eec4b8813 62 while (camera.isProcessing())
donghuoyinzi 0:1d7eec4b8813 63 {
donghuoyinzi 0:1d7eec4b8813 64 camera.processPicture(control);
donghuoyinzi 0:1d7eec4b8813 65 }
donghuoyinzi 0:1d7eec4b8813 66 }
donghuoyinzi 0:1d7eec4b8813 67 else if (message==212){ //send D4 for getting datas of MPU9150
donghuoyinzi 0:1d7eec4b8813 68 MPU9150raw::setup();
donghuoyinzi 0:1d7eec4b8813 69 MPU9150raw::loop();
donghuoyinzi 0:1d7eec4b8813 70 control.printf("ax=%d\n",buf9150[0]);
donghuoyinzi 0:1d7eec4b8813 71 control.printf("ay=%d\n",buf9150[1]);
donghuoyinzi 0:1d7eec4b8813 72 control.printf("az=%d\n",buf9150[2]);
donghuoyinzi 0:1d7eec4b8813 73 control.printf("gx=%d\n",buf9150[3]);
donghuoyinzi 0:1d7eec4b8813 74 control.printf("gy=%d\n",buf9150[4]);
donghuoyinzi 0:1d7eec4b8813 75 control.printf("gz=%d\n",buf9150[5]);
donghuoyinzi 0:1d7eec4b8813 76 control.printf("mx=%d\n",buf9150[6]);
donghuoyinzi 0:1d7eec4b8813 77 control.printf("my=%d\n",buf9150[7]);
donghuoyinzi 0:1d7eec4b8813 78 control.printf("mz=%d\n",buf9150[8]);
donghuoyinzi 0:1d7eec4b8813 79 }
donghuoyinzi 0:1d7eec4b8813 80 else if (message==214){ //send D6 for GPRS
donghuoyinzi 0:1d7eec4b8813 81 sim808.attach(&SIM808_IRQHandler,SerialBase::RxIrq); //serial interrupt attach
donghuoyinzi 0:1d7eec4b8813 82 wait(5);
donghuoyinzi 0:1d7eec4b8813 83
donghuoyinzi 0:1d7eec4b8813 84 sim808.printf("AT\r\n");
donghuoyinzi 0:1d7eec4b8813 85 wait(3); //判断Serial sim808通信是否正常
donghuoyinzi 0:1d7eec4b8813 86 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 87 control.printf("sim808 uart success\n");
donghuoyinzi 0:1d7eec4b8813 88 }
donghuoyinzi 0:1d7eec4b8813 89 else{
donghuoyinzi 0:1d7eec4b8813 90 control.printf("sim808 uart fail\n");
donghuoyinzi 0:1d7eec4b8813 91 }
donghuoyinzi 0:1d7eec4b8813 92 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 93
donghuoyinzi 0:1d7eec4b8813 94 sim808.printf("ATE0\r\n"); //关闭回显
donghuoyinzi 0:1d7eec4b8813 95 wait(3);
donghuoyinzi 0:1d7eec4b8813 96 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 97 control.printf("sim808 ATEO turn off success\n");
donghuoyinzi 0:1d7eec4b8813 98 }
donghuoyinzi 0:1d7eec4b8813 99 else{
donghuoyinzi 0:1d7eec4b8813 100 control.printf("sim808 ATEO turn off fail\n");
donghuoyinzi 0:1d7eec4b8813 101 }
donghuoyinzi 0:1d7eec4b8813 102 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 103
donghuoyinzi 0:1d7eec4b8813 104 sim808.printf("AT+CREG?\r\n"); //判断SIM卡是否注册成功
donghuoyinzi 0:1d7eec4b8813 105 wait(3);
donghuoyinzi 0:1d7eec4b8813 106 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 107 control.printf("sim808 register success\n");
donghuoyinzi 0:1d7eec4b8813 108 }
donghuoyinzi 0:1d7eec4b8813 109 else{
donghuoyinzi 0:1d7eec4b8813 110 control.printf("sim808 register fail\n");
donghuoyinzi 0:1d7eec4b8813 111 }
donghuoyinzi 0:1d7eec4b8813 112 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 113
donghuoyinzi 0:1d7eec4b8813 114 /************************************************
donghuoyinzi 0:1d7eec4b8813 115 sim808.printf("AT+CMGF=1\r\n"); //Text mode短信发送模式
donghuoyinzi 0:1d7eec4b8813 116 wait(3);
donghuoyinzi 0:1d7eec4b8813 117 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 118 control.printf("sim808 TEXT set success\n");
donghuoyinzi 0:1d7eec4b8813 119 }
donghuoyinzi 0:1d7eec4b8813 120 else{
donghuoyinzi 0:1d7eec4b8813 121 control.printf("sim808 TEXT set fail\n");
donghuoyinzi 0:1d7eec4b8813 122 }
donghuoyinzi 0:1d7eec4b8813 123
donghuoyinzi 0:1d7eec4b8813 124 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 125
donghuoyinzi 0:1d7eec4b8813 126 sim808.printf("AT+CSCS=\"GSM\"\r\n"); //设置GSM模式
donghuoyinzi 0:1d7eec4b8813 127 wait(3);
donghuoyinzi 0:1d7eec4b8813 128 ret=Judge_SIM808();
donghuoyinzi 0:1d7eec4b8813 129 if(ret){
donghuoyinzi 0:1d7eec4b8813 130 control.printf("sim808 GSM set success\n");
donghuoyinzi 0:1d7eec4b8813 131 }
donghuoyinzi 0:1d7eec4b8813 132 else{
donghuoyinzi 0:1d7eec4b8813 133 control.printf("sim808 GSM set fail\n");
donghuoyinzi 0:1d7eec4b8813 134 }
donghuoyinzi 0:1d7eec4b8813 135
donghuoyinzi 0:1d7eec4b8813 136 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 137
donghuoyinzi 0:1d7eec4b8813 138 sim808.printf("AT+CSMP=17,167,0,0\r\n"); //Text parameter set
donghuoyinzi 0:1d7eec4b8813 139 wait(3);
donghuoyinzi 0:1d7eec4b8813 140 ret=Judge_SIM808();
donghuoyinzi 0:1d7eec4b8813 141 if(ret){
donghuoyinzi 0:1d7eec4b8813 142 control.printf("sim808 Text parameter set success\n");
donghuoyinzi 0:1d7eec4b8813 143 }
donghuoyinzi 0:1d7eec4b8813 144 else{
donghuoyinzi 0:1d7eec4b8813 145 control.printf("sim808 Text parameter set fail\n");
donghuoyinzi 0:1d7eec4b8813 146 }
donghuoyinzi 0:1d7eec4b8813 147
donghuoyinzi 0:1d7eec4b8813 148 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 149
donghuoyinzi 0:1d7eec4b8813 150 sim808.printf("AT+CMGS=\"+8618766569612\"\r\n"); //receiver's phone number
donghuoyinzi 0:1d7eec4b8813 151 wait(3);
donghuoyinzi 0:1d7eec4b8813 152 ret=Judge_SIM808();
donghuoyinzi 0:1d7eec4b8813 153 if(ret==true){
donghuoyinzi 0:1d7eec4b8813 154 control.printf("%s",sim_buf);
donghuoyinzi 0:1d7eec4b8813 155 }
donghuoyinzi 0:1d7eec4b8813 156 else{
donghuoyinzi 0:1d7eec4b8813 157 control.printf("sim808 receive number fail\n");
donghuoyinzi 0:1d7eec4b8813 158 }
donghuoyinzi 0:1d7eec4b8813 159
donghuoyinzi 0:1d7eec4b8813 160 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 161
donghuoyinzi 0:1d7eec4b8813 162 sim808.printf("%s",(char*)content); //短信内容
donghuoyinzi 0:1d7eec4b8813 163 sim808.printf("%c",CtrlZ);
donghuoyinzi 0:1d7eec4b8813 164 wait(3);
donghuoyinzi 0:1d7eec4b8813 165 control.printf("%s\n",sim_buf);
donghuoyinzi 0:1d7eec4b8813 166 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 167
donghuoyinzi 0:1d7eec4b8813 168 ******************************************/
donghuoyinzi 0:1d7eec4b8813 169 sim808.printf("AT+CPIN?\r\n");
donghuoyinzi 0:1d7eec4b8813 170 wait(3);
donghuoyinzi 0:1d7eec4b8813 171 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 172 control.printf("sim808 SIM card success\n"); //SIM状态
donghuoyinzi 0:1d7eec4b8813 173 }
donghuoyinzi 0:1d7eec4b8813 174 else{
donghuoyinzi 0:1d7eec4b8813 175 control.printf("sim808 SIM card set fail\n");
donghuoyinzi 0:1d7eec4b8813 176 }
donghuoyinzi 0:1d7eec4b8813 177
donghuoyinzi 0:1d7eec4b8813 178 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 179
donghuoyinzi 0:1d7eec4b8813 180 sim808.printf("AT+CGATT?\r\n"); //GPRS附着状态
donghuoyinzi 0:1d7eec4b8813 181 wait(3);
donghuoyinzi 0:1d7eec4b8813 182 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 183 control.printf("sim808 GPRS success\n");
donghuoyinzi 0:1d7eec4b8813 184 }
donghuoyinzi 0:1d7eec4b8813 185 else{
donghuoyinzi 0:1d7eec4b8813 186 control.printf("sim808 GPRS set fail\n");
donghuoyinzi 0:1d7eec4b8813 187 }
donghuoyinzi 0:1d7eec4b8813 188
donghuoyinzi 0:1d7eec4b8813 189 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 190
donghuoyinzi 0:1d7eec4b8813 191 sim808.printf("AT+CSTT=\"CMNET\"\r\n"); //set APN
donghuoyinzi 0:1d7eec4b8813 192 wait(3);
donghuoyinzi 0:1d7eec4b8813 193 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 194 control.printf("sim808 APN set success\n");
donghuoyinzi 0:1d7eec4b8813 195 }
donghuoyinzi 0:1d7eec4b8813 196 else{
donghuoyinzi 0:1d7eec4b8813 197 control.printf("sim808 APN set fail\n");
donghuoyinzi 0:1d7eec4b8813 198 }
donghuoyinzi 0:1d7eec4b8813 199 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 200
donghuoyinzi 0:1d7eec4b8813 201 sim808.printf("AT+CIICR\r\n"); //wireless link
donghuoyinzi 0:1d7eec4b8813 202 wait(3);
donghuoyinzi 0:1d7eec4b8813 203 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 204 control.printf("sim808 wireless link success\n");
donghuoyinzi 0:1d7eec4b8813 205 }
donghuoyinzi 0:1d7eec4b8813 206 else{
donghuoyinzi 0:1d7eec4b8813 207 control.printf("sim808 wireless link fail\n");
donghuoyinzi 0:1d7eec4b8813 208 }
donghuoyinzi 0:1d7eec4b8813 209 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 210
donghuoyinzi 0:1d7eec4b8813 211 sim808.printf("AT+CIPSTART=\"TCP\",\"122.5.17.146\",\"9970\"\r\n"); //TCP set
donghuoyinzi 0:1d7eec4b8813 212 wait(3);
donghuoyinzi 0:1d7eec4b8813 213 if(Judge_SIM808()){
donghuoyinzi 0:1d7eec4b8813 214 control.printf("sim808 TCP set success\n");
donghuoyinzi 0:1d7eec4b8813 215 }
donghuoyinzi 0:1d7eec4b8813 216 else{
donghuoyinzi 0:1d7eec4b8813 217 control.printf("sim808 TCP set fail\n");
donghuoyinzi 0:1d7eec4b8813 218 }
donghuoyinzi 0:1d7eec4b8813 219 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 220
donghuoyinzi 0:1d7eec4b8813 221 sim808.printf("AT+CIPSEND\r\n"); //send direction
donghuoyinzi 0:1d7eec4b8813 222 wait(3);
donghuoyinzi 0:1d7eec4b8813 223 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 224
donghuoyinzi 0:1d7eec4b8813 225 sim808.printf("%s\n",(char*)content); //发送内容
donghuoyinzi 0:1d7eec4b8813 226 sim808.printf("%c",CtrlZ);
donghuoyinzi 0:1d7eec4b8813 227 }
donghuoyinzi 0:1d7eec4b8813 228 }
donghuoyinzi 0:1d7eec4b8813 229 }
donghuoyinzi 0:1d7eec4b8813 230 /*******************************************
donghuoyinzi 0:1d7eec4b8813 231 control.printf("start test!\r\n"); //GPS without change
donghuoyinzi 0:1d7eec4b8813 232 gps.attach(&callback);
donghuoyinzi 0:1d7eec4b8813 233 hal_sleep();
donghuoyinzi 0:1d7eec4b8813 234 if(sig == 7)
donghuoyinzi 0:1d7eec4b8813 235 {
donghuoyinzi 0:1d7eec4b8813 236 sig=0;
donghuoyinzi 0:1d7eec4b8813 237 i=0;
donghuoyinzi 0:1d7eec4b8813 238 control.printf("%s",buffer1);
donghuoyinzi 0:1d7eec4b8813 239 memset(buffer1,0,sizeof(buffer1));
donghuoyinzi 0:1d7eec4b8813 240 }
donghuoyinzi 0:1d7eec4b8813 241 wait(5);
donghuoyinzi 0:1d7eec4b8813 242 }
donghuoyinzi 0:1d7eec4b8813 243 }
donghuoyinzi 0:1d7eec4b8813 244 void getline()
donghuoyinzi 0:1d7eec4b8813 245 {
donghuoyinzi 0:1d7eec4b8813 246 buffer1[i] = gps.getc();
donghuoyinzi 0:1d7eec4b8813 247 if(buffer1[i] == 0x0a)
donghuoyinzi 0:1d7eec4b8813 248 {
donghuoyinzi 0:1d7eec4b8813 249 sig++;
donghuoyinzi 0:1d7eec4b8813 250 }
donghuoyinzi 0:1d7eec4b8813 251 i++;
donghuoyinzi 0:1d7eec4b8813 252 }
donghuoyinzi 0:1d7eec4b8813 253 *********************************/
donghuoyinzi 0:1d7eec4b8813 254 void SIM808_IRQHandler(void)
donghuoyinzi 0:1d7eec4b8813 255 {
donghuoyinzi 0:1d7eec4b8813 256 if(First_Int>=buf_max)First_Int=0;
donghuoyinzi 0:1d7eec4b8813 257 sim_buf[First_Int] = sim808.getc();
donghuoyinzi 0:1d7eec4b8813 258 First_Int++;
donghuoyinzi 0:1d7eec4b8813 259 }
donghuoyinzi 0:1d7eec4b8813 260 void CLR_Buf(void)
donghuoyinzi 0:1d7eec4b8813 261 {
donghuoyinzi 0:1d7eec4b8813 262 uint16_t k;
donghuoyinzi 0:1d7eec4b8813 263 for(k=0;k<buf_max;k++)
donghuoyinzi 0:1d7eec4b8813 264 {
donghuoyinzi 0:1d7eec4b8813 265 sim_buf[k] = 0x00;
donghuoyinzi 0:1d7eec4b8813 266 }
donghuoyinzi 0:1d7eec4b8813 267 First_Int = 0;
donghuoyinzi 0:1d7eec4b8813 268 }
donghuoyinzi 0:1d7eec4b8813 269 bool Judge_SIM808()
donghuoyinzi 0:1d7eec4b8813 270 {
donghuoyinzi 0:1d7eec4b8813 271 int j;
donghuoyinzi 0:1d7eec4b8813 272 for(j=0;j<buf_max;j++)
donghuoyinzi 0:1d7eec4b8813 273 {
donghuoyinzi 0:1d7eec4b8813 274 if((sim_buf[j] == 'O')&&(sim_buf[j+1] == 'K'))
donghuoyinzi 0:1d7eec4b8813 275 {
donghuoyinzi 0:1d7eec4b8813 276 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 277 return true;
donghuoyinzi 0:1d7eec4b8813 278 }
donghuoyinzi 0:1d7eec4b8813 279 }
donghuoyinzi 0:1d7eec4b8813 280 CLR_Buf();
donghuoyinzi 0:1d7eec4b8813 281 return false;
donghuoyinzi 0:1d7eec4b8813 282 }
donghuoyinzi 0:1d7eec4b8813 283 namespace MPU9150raw {
donghuoyinzi 0:1d7eec4b8813 284 // class default I2C address is 0x68
donghuoyinzi 0:1d7eec4b8813 285 // specific I2C addresses may be passed as a parameter here
donghuoyinzi 0:1d7eec4b8813 286 // AD0 low = 0x68 (default for InvenSense evaluation board)
donghuoyinzi 0:1d7eec4b8813 287 // AD0 high = 0x69
donghuoyinzi 0:1d7eec4b8813 288 MPU9150 accelGyroMag;
donghuoyinzi 0:1d7eec4b8813 289 void setup() {
donghuoyinzi 0:1d7eec4b8813 290 //control.baud(115200);
donghuoyinzi 0:1d7eec4b8813 291 accelGyroMag.initialize();
donghuoyinzi 0:1d7eec4b8813 292 }
donghuoyinzi 0:1d7eec4b8813 293
donghuoyinzi 0:1d7eec4b8813 294 void loop() {
donghuoyinzi 0:1d7eec4b8813 295 // read raw accel/gyro/mag measurements from device
donghuoyinzi 0:1d7eec4b8813 296 accelGyroMag.getMotion9(&ax, &ay, &az, &gx, &gy, &gz, &mx, &my, &mz);
donghuoyinzi 0:1d7eec4b8813 297 buf9150[0]=ax;buf9150[1]=ay;buf9150[2]=az;
donghuoyinzi 0:1d7eec4b8813 298 buf9150[3]=gx;buf9150[4]=gy;buf9150[5]=gz;
donghuoyinzi 0:1d7eec4b8813 299 buf9150[6]=mx;buf9150[7]=my;buf9150[8]=mz;
donghuoyinzi 0:1d7eec4b8813 300 wait_ms(50);
donghuoyinzi 0:1d7eec4b8813 301 }
donghuoyinzi 0:1d7eec4b8813 302 }