Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 #include "mbed.h" 00002 Serial pc(USBTX, USBRX); // tx, rx 00003 Serial wifi(PTE22,PTE23); 00004 Serial cam(PTC4,PTC3); 00005 DigitalOut myled(LED1); 00006 unsigned char reset[]={0x56,0x00,0x26,0x00}; 00007 unsigned char init_end[]="Init end"; 00008 unsigned char take_pic[]={0x56,0x00,0x36,0x01,0x00}; 00009 unsigned char taking_pic[]={0x76,0x00,0x36,0x00,0x00}; 00010 unsigned char read_size[]={0x56,0x00,0x34,0x01,0x00}; 00011 unsigned char return_size[]={0x76,0x00,0x34,0x00,0x04,0x00,0x00}; 00012 unsigned char read_pic[]={0x56,0x00,0x32,0x0C,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00}; 00013 unsigned char wait_time[]={0x00,0x0A}; 00014 unsigned char stop_pic[]={0x56,0x00,0x36,0x01,0x03}; 00015 unsigned char size[2]; 00016 unsigned char data_ready; 00017 unsigned char buff[13000]; 00018 unsigned int i; 00019 unsigned int j; 00020 unsigned int hex_size; 00021 unsigned char rem; 00022 int main() { 00023 i=0; 00024 myled=0; 00025 cam.baud(38400); 00026 do 00027 { 00028 cam.printf("%c",reset[i++]); 00029 }while(i<4); 00030 i=0; 00031 pc.printf("reset\n"); 00032 do 00033 { 00034 if(cam.getc()==init_end[i]) 00035 { 00036 i++; 00037 }; 00038 }while(init_end[i]); 00039 pc.printf("START\n"); 00040 00041 00042 i=0; 00043 do 00044 { 00045 cam.printf("%c",take_pic[i++]); 00046 }while(i<5); 00047 i=0; 00048 do 00049 { 00050 if(cam.getc()==taking_pic[i]) 00051 { 00052 i++; 00053 }; 00054 }while(i<5); 00055 i=0; 00056 pc.printf("pic taken\n"); 00057 wait(1); 00058 do 00059 { 00060 cam.printf("%c",read_size[i++]); 00061 }while(i<5); 00062 i=0; 00063 do 00064 { 00065 if(cam.getc()==return_size[i]) 00066 { 00067 i++; 00068 }; 00069 00070 }while(i<7); 00071 i=0; 00072 size[0]=cam.getc(); 00073 size[1]=cam.getc(); 00074 hex_size=0; 00075 hex_size=size[0]; 00076 hex_size=(hex_size<<8)+size[1]; 00077 00078 pc.printf("%x",hex_size); 00079 00080 rem=hex_size%4; 00081 00082 pc.printf("%x",rem); 00083 do 00084 { 00085 cam.printf("%c",read_pic[i++]); 00086 }while(i<12); 00087 i=0; 00088 do 00089 { 00090 cam.printf("%c",size[i++]); 00091 }while(i<2); 00092 i=0; 00093 do 00094 { 00095 cam.printf("%c",wait_time[i++]); 00096 }while(i<2); 00097 i=0; 00098 do 00099 { 00100 buff[i]=cam.getc(); 00101 if(buff[i]==0xFF & !data_ready) 00102 { 00103 data_ready++; 00104 } 00105 else if(buff[i]==0xD9 & data_ready) 00106 { 00107 data_ready++; 00108 } 00109 else 00110 { 00111 data_ready=0; 00112 } 00113 i++; 00114 }while(data_ready<2); 00115 pc.printf("FOTO"); 00116 j=5; 00117 myled=1; 00118 do 00119 { 00120 pc.printf("%c",buff[(j++)]); 00121 }while(j<i); 00122 j=5; 00123 00124 wifi.printf("%s","file.open(\"http/test.jpg\",\"w+\")\r"); 00125 wait(0.2); 00126 wifi.printf("%s","uart.on(\"data\",4,\r"); 00127 wait(0.1); 00128 wifi.printf("%s","function(data)\r"); 00129 wait(0.1); 00130 wifi.printf("%s","print(\"receive from uart:\", data)\r"); 00131 wait(0.1); 00132 wifi.printf("%s","file.write(data)\r"); 00133 wait(0.1); 00134 wifi.printf("%s","if data==\"quit\" then\r"); 00135 wait(0.1); 00136 wifi.printf("%s","print(\"success\")\r"); 00137 wait(0.1); 00138 wifi.printf("%s","uart.on(\"data\")\r"); 00139 wait(0.1); 00140 wifi.printf("%s","end\r"); 00141 wait(0.1); 00142 wifi.printf("%s","end, 0)\r"); 00143 wait(0.1); 00144 do 00145 { 00146 wifi.printf("%c",buff[(j++)]); 00147 wait(0.007); 00148 }while(j<i); 00149 wifi.printf("%s","quit"); 00150 wait(1); 00151 wifi.printf("%s","file.close()\r"); 00152 }
Generated on Thu Jul 28 2022 17:13:01 by
1.7.2