User Tools

Site Tools


lokos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lokos [2019/05/30 05:53]
2480
lokos [2019/10/23 21:11] (current)
Line 53: Line 53:
    
 int main() { int main() {
-    printf("​Hello World!"​);​+    printf("​Hello World!\n");
 } }
  </​code>​  </​code>​
Line 326: Line 326:
  
  
-====== Αποτελέσματα ​======+===== Αποτελέσματα =====
  
 {{2a.jpg}} {{2a.jpg}}
Line 337: Line 337:
  
  
-γ) Για το γ ερώτημα ​χρειαζόματε ​τα εξής βήματα+γ) Για το γ ερώτημα ​κάναμε κάποιες τροποποιήσεις. Δημιουργήσαμε μια συνάρτηση pressed η οποία ​είναι συνδεδεμένη με ενα από ​τα onboard button και είναι καταχωρημένο ως interruptIn. Στη main καλούμε τη συνάρτηση dhrystoneBenchmark() 
-  - Δημιουργία ξεχωριστών συναρτήσεων.+η οποία εκτελεί το benchmark και στη διάρκεια αυτής της εκτέλεσης πατούσαμε αρκετές φορές το interrupt button βλέποντας ταυτόχρονα ​την φωτεινή ένδειξη να ανάβει και να σβήνει κάθε φορά που καλούταν η pressed 
  
  
Line 349: Line 349:
 Serial pc(USBTX, USBRX); ​ //serial channel over HDK USB interface Serial pc(USBTX, USBRX); ​ //serial channel over HDK USB interface
 InterruptIn btn(SW2); InterruptIn btn(SW2);
 +
 +
 +AnalogIn potentiometer(A3);​
 +DigitalOut led(LED2);
 +
 +void pressed(){
 +    ​
 +    if (led) 
 +        led = 0;
 +    else
 +        led = 1;
 +}
  
  
 void dhrystoneBenchmark(){ void dhrystoneBenchmark(){
 +    ​
     double benchtime, dps;     double benchtime, dps;
     unsigned long loops;     unsigned long loops;
Line 365: Line 378:
     printf("​Dhrystone Benchmark Program C/1 12/​01/​84\r\n"​);​     printf("​Dhrystone Benchmark Program C/1 12/​01/​84\r\n"​);​
     timer.start();​     timer.start();​
 +    ​
     while(1) {     while(1) {
         loops = 0l;         loops = 0l;
Line 394: Line 408:
     ​     ​
 } }
- 
- 
-AnalogIn potentiometer(A3);​ 
-DigitalOut red(D7); 
- 
-void runPotentiometer(){ 
-    float potValue; 
-    ​ 
-    
-        potValue = potentiometer.read();​ 
-  ​ 
-        red = 1;    
-        wait(int (potValue*100) ); 
-        red = 0;    
- 
-} 
- 
  
 int main() { int main() {
        
-   dhrystoneBenchmark();​ +    ​dhrystoneBenchmark();​ 
-   ​btn.fall(&​runPotentiometer);+    btn.fall(&​pressed);
     ​     ​
 } }
- 
  
  
 </​code>​ </​code>​
 +
 +
 +===== Αποτελέσματα =====
 +
 +
 +
 +Τα αποτελέσματα που πήραμε ήταν παράδοξα καθώς τα νούμερα ήταν μεγαλύτερα απο το ερώτημα 2α. 
 +{{23.jpg}}
  
  
  
 ====== Project Μέρος 3 ====== ====== Project Μέρος 3 ======
 +
 +
 +Αρχικός στόχος μας ήταν η δημιουργία μιας εφαρμογής στην οποία θα μπορούσαμε να εξοικειωθούμε με την χρήση της θύρας ethernet καθώς με διάφορα περιφερειακά με τα οποία θα μπορούσαμε να είχαμε αλληλεπίδραση με το χρήστη.
 +
 +Η εφαρμογή η οποία δημιουργήσαμε αποστέλει ενα HTTP request στην ιστοσελίδα openweathermap.org με την δυνατότητα ο χρήστης να επιλέξει την πόλη την οποία επιθυμεί. Στη συνέχεια διαχωρίζουμε τα δεδομένα τα οποία δεχτήκαμε και εκτυπώνουμε αυτά τα οποία έχουμε προεπιλέξει.
 +
 +Για την εφαρμογή χρησιμοποιήσαμε την βιβλιοθήκη **mbed-http**
 + 
 +
 +
 +
 +
 +
  
  
Line 447: Line 464:
         ​         ​
     }     }
 +    printf("​\nBody (%d bytes):​\n\n%s\n",​ res->​get_body_length(),​ res->​get_body_as_string().c_str());​
     ​     ​
 } }
Line 477: Line 495:
 int main() { int main() {
     printf("​Program Starting..\n"​);​     printf("​Program Starting..\n"​);​
 +    ​
     // Connect to the network with the default networking interface     // Connect to the network with the default networking interface
-    ​ 
     NetworkInterface* network = connect_to_default_network_interface();​     NetworkInterface* network = connect_to_default_network_interface();​
  
Line 486: Line 504:
         // By default the body is automatically parsed and stored in a buffer, this is memory heavy.         // By default the body is automatically parsed and stored in a buffer, this is memory heavy.
         // To receive chunked response, pass in a callback as last parameter to the constructor.         // To receive chunked response, pass in a callback as last parameter to the constructor.
-        
         ​         ​
-        ​//char request =  "​http://​api.openweathermap.org/​data/​2.5/​forecast?"​+city+"&​cnt=1&​APPID=3ff29328f7c661abef83a312168bc559";​ +        HttpRequest* get_req = new HttpRequest(network,​ HTTP_GET, "​http://​api.openweathermap.org/​data/​2.5/​weather?​q=Ioannina&​units=metric&​APPID=3ff29328f7c661abef83a312168bc559"​);​
-        ​HttpRequest* get_req = new HttpRequest(network,​ HTTP_GET, "​http://​api.openweathermap.org/​data/​2.5/​forecast?​q=Ioannina&​cnt=1&​APPID=3ff29328f7c661abef83a312168bc559"​);​+
         ​         ​
         HttpResponse* get_res = get_req->​send();​         HttpResponse* get_res = get_req->​send();​
Line 503: Line 519:
     }     }
  
-    
-    
-    
-    
-    
-    
-    
     wait(osWaitForever);​     wait(osWaitForever);​
 } }
Line 516: Line 525:
   </​code>​   </​code>​
  
 +===== Αποτελέσματα ===== 
  
 +{{output.jpg}}
  
  
lokos.1559184834.txt.gz · Last modified: 2019/10/23 21:11 (external edit)