Advertisement
Guest User

Untitled

a guest
May 23rd, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.89 KB | None | 0 0
  1. Beste tweakers,
  2.  
  3. Ik heb een probleem met mijn code wat ik op een atmega328P draai.
  4. Ik heb in C++ een driver geschreven voor de w5100 (ethernet), echter als ik in mijn code een socket aan maak.
  5. Server sock0(o);
  6. Dan gebeuren er rare dingen, oa wordt de code die er boven staat niet meer helemaal uitgevoerd.
  7.  
  8. De fout zit dus waarschijnlijk in de constructor van mijn server class, ik heb echter niet zoveel ervaring met classes (dit is de eerste keer dat ik het een beetje serieus gebruik), dus zou iemand hier even naar kunnen kijken?
  9.  
  10. /// main.cpp******************************************************************
  11. /// main.cpp******************************************************************
  12. /// main.cpp******************************************************************
  13. #include "spi.hpp" // mijn librarys
  14. #include "ethernet.hpp" // mijn librarys
  15.  
  16. void setup(){
  17.     pinMode(7, OUTPUT);
  18.     pinMode(5, OUTPUT);
  19.     melodi();  // piep toontje (tijdelijk)
  20.  
  21.     delay(1000);
  22.     Serial.begin(115200);
  23.     Serial.println("We just rebooted!!!!\n"); // hierna herstart hij ( de volgende regel wordt dus niet uitgevoerd), mits ik onderin de socket aan maak.
  24.     Serial.println("\t Start init");
  25.     spi.init();
  26.     delay(1);
  27. }
  28.  
  29. void loop()
  30. {
  31.     Serial.println("\t begin setIpData");
  32.     wiz.setIpData();
  33.     Serial.println("\t sock init");
  34.     Server sock0(0); // -----------------------  als dit in mijn code staat
  35.     Serial.println("end sock");
  36.     while(1);
  37. }
  38. // ****************************Header****************************
  39. // ****************************Header****************************
  40. // ****************************Header****************************
  41.  
  42. class Server{
  43. public:
  44.     uint8_t buffer[bufferSize];
  45.     //Server(uint8_t number);
  46.     Server(int number);
  47.     void setPort();
  48.     void setPort(uint8_t laag);
  49.     void setPort(uint8_t hoog, uint8_t laag);
  50.     void setPort(uint16_t getal);
  51.     void setPort(int x);
  52.  
  53.     int start();            // initalizatie
  54.     int listen();                    // luisteren voor binnen koment verkeer
  55.     int checkEstablished();          // is er een verbinding tot stand gekomen?
  56.     uint16_t receivedData();         // data ontvangen?
  57.     void receivingData();            // er komt data binnen, nu verwerken
  58.     int sendData(uint8_t data[], uint16_t length);                           // verstuur data
  59.     void gotFin();                   // fin: einde verbinding ontvangen?
  60.     void closed();                   // verbinding is verbroken (denk ik)
  61.     int timeout();                  // Timeout in de verbinding
  62.     void close();                    // sluit de verbinding
  63.     uint8_t getStatus();
  64.     void disconnect();                     // sluit de vebinding netjes af
  65. private:
  66.  
  67.     struct MODE{
  68.         const static uint8_t MULTI          = 1<<7;
  69.         const static uint8_......  // en nog veel meer constanten
  70.     }SR;
  71.  
  72.     uint8_t port[2];
  73.     uint8_t status;
  74.     uint8_t state;
  75.  
  76.     uint8_t sNr, number;                     // socket nummer
  77.     uint8_t retrycounter;
  78.     uint16_t timeoutTimer; // verzin hier nog wat leuks mee
  79.     uint16_t read2byte(uint8_t group, uint8_t high, uint8_t low);
  80.     void write2byte(uint8_t group, uint8_t regHigh, uint8_t regLow, uint16_t data);
  81. };
  82.  
  83. // ****************************cpp include****************************
  84. // ****************************cpp include****************************
  85. // ****************************cpp include****************************
  86. [quote]
  87. Server::Server(int Number){  /// oorspronkelijk stond hier meer code in, maar dat heb ik er even uit gelaten (krijg het zelfde probleem hier mee)
  88.     sNr=4;
  89.     Number = 0;
  90. }
  91.  
  92. Een paar dingen wat ik al heb geprobeerd:
  93. [list]
  94. [*]Alle functies leeg halen
  95. [*]controlleren of de voeding spanning niet inzakt
  96. [*]Andere(grote) microcontroller
  97. [*]Controle of het geheugen niet vol loopt, (volgens de compiler niet)
  98. [/list]
  99.  
  100. Mvg,
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement