Lichtkrant Surtronic FDS-132

Hardware die niet past in bovenstaande onderwerpen
Berichten: 7
Geregistreerd: 05 Sep 2013, 22:36

Re: Lichtkrant Surtronic FDS-132

Berichtdoor BartDeW » 05 Sep 2013, 22:53

Hoi!

Ik wou dit al een paar dagen geleden posten, maar ik had wat moeite met een account aanmaken.

Ik had ook zo'n ding gekocht, en met de instructies van Rudi (op zijn blog) heb ik hem ook werkend gekregen. Ik had al meteen een project dat ik wou maken (een schaakclock) maar voordat ik daar aan begon wou ik het een stuk makkelijker maken om tekst op dat scherm te plaatsen. Om elke keer met die hex codes te gaan kloten leek me niks.

Dus ik heb een paar classes geschreven die heel erg helpen. Je kunt ze vinden op https://github.com/BartDeWaal/FDS132-textdriver

Features:

-Voer texten in door middel van C strings
-Plaats zo veel teksten als je wilt waar je wilt op het scherm
-Maak je eigen symbolen

Er is bij github ook een voorbeeldproject, maar ik kan een absoluut minimum ook hier zetten:


Code: Alles selecteren
#include "fds132text.h"     
#include <SPI.h>

fdsScreen mainScreen;

void setup() {   
    mainScreen.setPins(); // Uses the default from Rudi Imbrechts guide on how to set up the pins.
                                  // You can set diffent pins, see fds132text.h for the arguments
    initialiseLetters() ;
    mainScreen.addString("I love the arduino",0);
    mainScreen.update();

void loop() 

    mainScreen.display();



Veel plezier ermee! Ik help graag met vragen of simpele toevoegingen.

Advertisement

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: Lichtkrant Surtronic FDS-132

Berichtdoor pjh » 06 Sep 2013, 07:19

Ik ben niet toegekomen aan het board, maar wachten loont. Jullie zijn GOED BEZIG. Dank.Paul

Berichten: 77
Geregistreerd: 06 Okt 2012, 10:57

Re: Lichtkrant Surtronic FDS-132

Berichtdoor Beamer » 06 Sep 2013, 16:59

Ga vanavond eens even spelen.
Dit soort programmeerwerk gaat mij wat boven de pet, maar ik ga uitpluizen hoe je het gedaan hebt.
Mooi dat het werkt, maar ik wil ook weten waarom. Had zelf al een bepaalde richting in gedachten en wil dus ook weten of ik in de goede richting zat. De variabele breedte vind ik wel een leuk alternatief. Zover was ik zeker nog niet.

Berichten: 7
Geregistreerd: 05 Sep 2013, 22:36

Re: Lichtkrant Surtronic FDS-132

Berichtdoor BartDeW » 06 Sep 2013, 17:25

Voor het stukje in updateFromfdsStringNode waar de tekens daadwerkelijk in de array van bytes worden gezet zou ik er een stukje ruitjespapier bij pakken.

De rechterkant van elke byte wordt het laatst op het scherm gezet, dus die komt daar het meest links op. Met dit in gedachte moet je even kijken wat je zou moeten doen als je een teken van 5 bits neer wilt zetten, en van deze byte zijn al 6 tekens gebruikt.

Scrijf dit dan uit in termen van bitshifts van een byte van de vorm B00011111.

Als je ergens niet uitkomt help ik je graag.

Gebruikers-avatar
Berichten: 270
Geregistreerd: 30 Dec 2012, 11:42

Re: Lichtkrant Surtronic FDS-132

Berichtdoor Rudi » 06 Sep 2013, 19:02

Zo ver in de programmeerkunst sta ik nog niet dus ik heb met bewondering jouw code bekeken BartDeW.
Vanzelfsprekend heb ik het dadelijk uitgeprobeerd en als ik wat meer tijd heb ga ik me er ook verder in verdiepen.

Wat me in de example sketch opviel was dat zodra er 10 sekonden voorbij zijn en de tekst veranderd, de hele boel begon te flikkeren.
Ik vermoedde dat de oorzaak lag aan de functie mainScreen.update() die telkens opnieuw wordt aangesproken wat voor (on)nodige vertraging zorgt.
Om dat vermoeden te bevestigen liet ik maar heel even (maximaal 50ms) deze functie oproepen. Rudimentair maar flikkervrij :)
Code: Alles selecteren
if (millis()>10000 && millis()<10050)


Maar nogmaals, knap gedaan BartDeW, hier kunnen we veel van leren!
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Berichten: 77
Geregistreerd: 06 Okt 2012, 10:57

Re: Lichtkrant Surtronic FDS-132

Berichtdoor Beamer » 06 Sep 2013, 20:59

Leuke woordgrap :D

Berichten: 3
Geregistreerd: 11 Sep 2013, 10:04

Re: Lichtkrant Surtronic FDS-132

Berichtdoor ceesieduijst » 11 Sep 2013, 10:22

hallo,

ik heb sinds een paar dagen een arduino uno met een fds132 aangeschaft (eigenlijk mijn werk, gebruik dit in mijn opleiding)
nu heb ik van internet een aantal programma's gezien waarin je tekst kan programmeren (meeste van arduinows forum)
en vanuit daar ben begonnen met wijzigen naar mijn eigen tekst.
alleen 1 puntje...
in het ene programma zit een heel makkelijke manier om je teksten te wijzigen,
en in het andere kan ik tekst laten verspringen (2 framebuffers)
alleen kan ik ze zelf nog niet combineren!
ook lijkt het me leuk om meer dan 2 framebuffers te gaan gebruiken alleen dat is een stap voor hierna.
ik zal de 2 programma's hier onder zetten, misschien heeft iemand suggesties :)

/*  
 Aansturen FDS132 LED matrix bord m.b.v. SPI.  
 Toont karakters op line 0.  
 */
 #include <SPI.h> // Om snelheid te winnen maken we gebruik van SPI.
                                                        // Daarom halen we de SPI library erbij.
                                                        // Pinnen voor het aansturen van het FDS132 bord.
 const int strobePin = 10; // pin voor strobe signaal, ook wel latch genaamd.
 const int clockPin = 13; // pin met clock signaal.
 const int dataPin = 11; // pin voor het serieel sturen van data.
 const int resredPin = 9; // resred, ook wel OutputEnable of OE genoemd.
 const int row_a = 5; // ieder ledmatrix heeft 7 rijen. Hardwarematig
 const int row_b = 6; // gebruiken we een 3-naar-8 decoder
 const int row_c = 7; // type 74HC238 (U4 op het schema).
 const int zero = 0; // nul, zero, nada.
 int row; // int voor bijhouden welke rij we aansturen.
 unsigned char character_map[40][7] = // map met de letters die we gaan gebruiken. 34 karakters, zeven rijen elks
 {      
0x00,0x00,0x00,0x00,0x00,0x00,0x00,                    //0 spatie
0x0E,0x11,0x11,0x1F,0x11,0x11,0x11,                      //1 A
0x0F,0x11,0x11,0x0F,0x11,0x11,0x0F,                    //2 B
0x1C,0x02,0x01,0x01,0x01,0x02,0x1C,                      //3 C
0x07,0x09,0x11,0x11,0x11,0x11,0x0F,                      //4 D
0x1F,0x01,0x01,0x0F,0x01,0x01,0x1F,           //5 E
0x1F,0x01,0x01,0x0F,0x01,0x01,0x01, //6 F
0x0E,0x11,0x01,0x1D,0x11,0x11,0x0E, //7 G
0x11,0x11,0x11,0x1F,0x11,0x11,0x11, //8 H
0x1F,0x04,0x04,0x04,0x04,0x04,0x1F,                     //9 I
0x1F,0x10,0x10,0x10,0x10,0x11,0x0E, //10 J
0x11,0x09,0x05,0x03,0x05,0x09,0x11, //11 K
0x01,0x01,0x01,0x01,0x01,0x01,0x1F, //12 L
0x11,0x1B,0x15,0x15,0x11,0x11,0x11, //13 M
0x11,0x13,0x15,0x19,0x11,0x11,0x11,                     //14 N
0x0E,0x11,0x11,0x11,0x11,0x11,0x0E,                //15 O
0x0F,0x11,0x11,0x0F,0x01,0x01,0x01,      //16 P
0x0E,0x11,0x11,0x11,0x15,0x09,0x16,     //17 Q
0x0F,0x11,0x11,0x0F,0x05,0x09,0x11, //18 R
0x1E,0x01,0x01,0x0E,0x10,0x10,0x0F, //19 S
0x1F,0x04,0x04,0x04,0x04,0x04,0x04, //20 T
0x11,0x11,0x11,0x11,0x11,0x11,0x0E,                      //21 U
0x11,0x11,0x11,0x11,0x11,0x0A,0x04,            //22 V
0x11,0x11,0x11,0x11,0x15,0x15,0x0A, //23 W
0x11,0x11,0x0A,0x04,0x0A,0x11,0x11, //24 X
0x11,0x11,0x0A,0x04,0x04,0x04,0x04, //25 y
0x1F,0x10,0x08,0x04,0x02,0x01,0x1F, //26 Z
0x00,0x00,0x00,0x00,0x00,0x00,0x00,                    //27 spatie
0x10,0x10,0x08,0x04,0x02,0x01,0x01,          //28 /
  0xAA,0x55,0xAA,0x55,0xAA,0x55,0xAA,                 //29 XXX
0x0E,0x11,0x19,0x15,0x13,0x11,0x0E,         //30 0
0x04,0x06,0x04,0x04,0x04,0x04,0x0E,         //31 1
0x0E,0x11,0x10,0x08,0x04,0x02,0x1F,          //32 2
0x0E,0x11,0x10,0x0C,0x10,0x11,0x0E,         //33 3
0x11,0x11,0x11,0x1F,0x10,0x10,0x10,         //34 4
0x1F,0x01,0x01,0x0E,0x10,0x11,0x0E,          //35 5
0x0E,0x01,0x01,0x0F,0x11,0x11,0x0E,          //36 6
0x1F,0x10,0x10,0x08,0x04,0x02,0x01,          //37 7
0x0E,0x11,0x11,0x0E,0x11,0x11,0x0E,          //38 8
0x0E,0x11,0x11,0x1E,0x10,0x11,0x0E,          //39 9


 };  
 void setup() {
  pinMode (strobePin, OUTPUT); // zet alle pinnen als output om de shift registers aan te sturen.
  pinMode (clockPin, OUTPUT);
  pinMode (dataPin, OUTPUT);
  pinMode (row_c, OUTPUT);
  pinMode (row_b, OUTPUT);
  pinMode (row_a, OUTPUT);
  pinMode (resredPin, OUTPUT);
  digitalWrite (resredPin, HIGH); // resred werkt als een schakelaar. Hoog betekent display aan, laag is display uit.
  digitalWrite (strobePin, LOW); // strobe pas hoog brengen als data naar het shiftregister is gestuurd.
  SPI.begin(); // initialiseer de SPI library.
  SPI.setBitOrder(MSBFIRST); // Most Significant Bit eerst (LSB geeft ieder karakter in spiegelbeeld weer).
 }  
 void loop()
 {  
   for (row=0; row<7; row++) // rij teller.
     {   
     digitalWrite(strobePin, LOW); // strobePin laag opdat de LEDs niet wijzigen als we de bits doorsturen.
     digitalWrite (resredPin, LOW); // en we doven de display om ghosting te voorkomen.
     setRow(row);                                       // we sturen alle zeven rijen aan.
     zeroDisplay();                                     // alle uitgangen van de shiftregisters op nul.
     setDisplay(row);                                   // haal de te tonen data op.
     digitalWrite(strobePin, HIGH); // update de shiftregisters.
     digitalWrite (resredPin, HIGH); // en zet display terug aan.
     delayMicroseconds(1000); // pauseren want de update gaat te vlug.
     }
 }  
 void setRow (int row) // deze functie kan gebruikt worden voor het multiplexen van de zeven rijen.
 {  
  digitalWrite (row_a, row & 1); // zet decimale waarden 0 tot 7 om naar binaire waarden (000 - 111)
  digitalWrite (row_b, row & 2); // om de corresponderende rowpinnen die de matrixlijnen aansturen
  digitalWrite (row_c, row & 4); // te activeren.
 }  
 void zeroDisplay() // deze functie zet alle uitgangen v/d shiftregisters op nul,
 {                                                      // waardoor alle LED's doven
  int i;
  for(i=0; i<34; i++)
  {  
   SPI.transfer(0); // door 34 keer een byte met waarde nul te sturen.
  }  
 }  
 void setDisplay(int row) // haal de tekstdata uit de eerder gedefinieerde map met karakters.
 {  
SPI.transfer(character_map[17][row]);
SPI.transfer(character_map[16][row]);
SPI.transfer(character_map[15][row]);
SPI.transfer(character_map[14][row]);
SPI.transfer(character_map[13][row]);
SPI.transfer(character_map[12][row]);
SPI.transfer(character_map[11][row]);
SPI.transfer(character_map[10][row]);
SPI.transfer(character_map[9][row]);
SPI.transfer(character_map[8][row]);
SPI.transfer(character_map[7][row]);
SPI.transfer(character_map[6][row]);
SPI.transfer(character_map[5][row]);
SPI.transfer(character_map[4][row]);
SPI.transfer(character_map[3][row]);
SPI.transfer(character_map[2][row]);
SPI.transfer(character_map[1][row]);
SPI.transfer(character_map[0][row]);
 }  






voordeel van dit is dat je niet steeds de complete hex code hoeft te gebruiken om een letter in beeld te laten verschijnen



#include <SPI.h>

const int strobe = 10; // Arduino pinnen.
const int resred = 9;
const int row_c = 7;
const int row_b = 6;
const int row_a = 5;

#define FRAMEBUFFER_WIDTH 35  
#define FRAMEBUFFER_DEPTH 7  

unsigned char character_map[22*FRAMEBUFFER_DEPTH] = // de getal karakters. !!!!VERRANDEREN VOOR AANTAL KARAKTERS!!!!
{  
0x1F,0x01,0x01,0x0F,0x01,0x01,0x1F,           //E
0x07,0x09,0x11,0x11,0x11,0x11,0x0F,                      // D
0x11,0x11,0x11,0x11,0x11,0x11,0x0E,                      // U
0x1C,0x02,0x01,0x01,0x01,0x02,0x1C,                      //C
0x0E,0x11,0x11,0x1F,0x11,0x11,0x11,                      // A
0x1F,0x04,0x04,0x04,0x04,0x04,0x04, //T
0x1F,0x04,0x04,0x04,0x04,0x04,0x1F,                     // I
0x0E,0x11,0x11,0x11,0x11,0x11,0x0E,                // O
0x11,0x13,0x15,0x19,0x11,0x11,0x11,                     // N
 0,0,0,0,0,0,0,
 0,0,0,0,0,0,0,

 
  0,0,0,0,0,0,0,
 0x1C,0x02,0x01,0x01,0x01,0x02,0x1C,                      //C
 0x1F,0x01,0x01,0x0F,0x01,0x01,0x1F,           //E
 0x11,0x13,0x15,0x19,0x11,0x11,0x11,                     // N
 0x1F,0x04,0x04,0x04,0x04,0x04,0x04, //T
 0x0F,0x11,0x11,0x0F,0x05,0x09,0x11, //R
 0x1F,0x01,0x01,0x0F,0x01,0x01,0x1F,           //E
  0,0,0,0,0,0,0,       
  0,0,0,0,0,0,0,       
  0,0,0,0,0,0,0,      
  0,0,0,0,0,0,0,
 
};  
unsigned char framebuffer1[FRAMEBUFFER_WIDTH * FRAMEBUFFER_DEPTH] = {
  0}; // inhoud van een framebuffer = wat er naar de FDS132 wordt gestuurd.
unsigned char framebuffer2[FRAMEBUFFER_WIDTH * FRAMEBUFFER_DEPTH] = {
  0}; // 2 framebuffers. Ieder framebuffer is 245 bytes groot (35*7).
unsigned long startTijd = millis(); // huidige tijd sinds programma loopt.
unsigned long verstrekenTijd; // verstreken tijd.
int bufferSelect = 1; // beginnen met eerste framebuffer.
int beginPositie=1; // 0 = linksboven, 12 = 2e lijn, 23 = 3e lijn.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////                                      
void setup()
{  
  int i;
  unsigned char *p1=framebuffer1; // de waarde van framebuffer1 wordt gekopieerd naar het adres waar p1 naar wijst.
  unsigned char *p2=framebuffer2; // de waarde van framebuffer2 wordt gekopieerd naar het adres waar p2 naar wijst.
  randomSeed(analogRead(0)); // voedt de randomgenerator met uitgelezen waarde niet aangesloten analoge poort.
  pinMode (strobe, OUTPUT);
  pinMode (resred, OUTPUT);
  pinMode (row_c, OUTPUT);
  pinMode (row_b, OUTPUT);
  pinMode (row_a, OUTPUT);
  digitalWrite (strobe, HIGH);
  digitalWrite (resred, HIGH);
  SPI.setBitOrder(MSBFIRST);
  SPI.begin();

  for (i=0; i<FRAMEBUFFER_DEPTH; i++) // laadt de framebuffers.
  {                                    
    for (int getal = 0; getal <11; getal++) // getallen 0 t/m 9 !!!!MEER LETTERS IN 1 BUFFER = HOGER GETAL!!!!
    {  
      int positie = getal; //
      *(p1 + i*FRAMEBUFFER_WIDTH+beginPositie+positie) = character_map[FRAMEBUFFER_DEPTH*(getal)+i]; // eerste framebuffer laden met ARDUINO!'
      *(p2 + i*FRAMEBUFFER_WIDTH+beginPositie+positie) = character_map[FRAMEBUFFER_DEPTH*(getal+11)+i];   // tweede framebuffer laden met Arduino! !!!!SAME HERE!!!!
    }  
  }  
}   
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
void loop()
{  
  while (1)
  {  
    for (int row=0; row<7; row++)
    {  
      digitalWrite (resred, LOW);
      digitalWrite (strobe, LOW);
      setRow(row);                                           // selekteer de rij
      setDisp(row);                                          // toon de rij
      digitalWrite (resred, HIGH);
      digitalWrite (strobe, HIGH);
      delayMicroseconds (1000);
    }  
  }  
}  
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
void setRow (int row) // activeer rij <x>
{  
  digitalWrite (row_a, row & 1);
  digitalWrite (row_b, row & 2);
  digitalWrite (row_c, row & 4);
}  
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
void setDisp(int row) // lees rij per rij uit de framebuffers en stuur deze naar de FDS132.
{  
  int i;
  unsigned char *p1=framebuffer1; // wijst naar eerste framebuffer.
  unsigned char *p2=framebuffer2; // wijst naar tweede framebuffer.
  // wisselen van framebuffer zonder delay() functie te gebruiken
  verstrekenTijd = millis() - startTijd; // door de verstreken tijd te meten vanaf vastgelegde starttijd
  if (verstrekenTijd > 1000) // meer dan 2000 milliseconden later?
  {                                                      // indien ja, dan...
    verstrekenTijd = 0;                                   // zetten we de verstreken tijd terug op nul;
    startTijd = millis(); // beginnen met een nieuwe starttijd,
    if (bufferSelect == 1){
      bufferSelect = 2;
    }             // en wisselen niet alleen van framebuffer,
    else bufferSelect = 1;
    // willekeurig(); // maar laden het eerste buffer met willekeurige getallen.
  }  

  if (bufferSelect==1) // inhoud van het eerste framebuffer naar de FDS132
  {  
    for (i=FRAMEBUFFER_WIDTH-1; i>=0; i--) // tel af van 34 naar 0,
    {  
      SPI.transfer( *(p1 + row*FRAMEBUFFER_WIDTH + i) ); // en stuur inhoud naar de shiftregisters.
    }      
  }  
  else // tweede framebuffer naar het display
  {   
    for (i=FRAMEBUFFER_WIDTH-1; i>=0; i--) // tel af van 34 naar 0,
    {  
      SPI.transfer( *(p2 + row*FRAMEBUFFER_WIDTH + i) ); // en stuur inhoud naar de shiftregisters.
    }  
  }  
}  

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////     

void willekeurig() // zet willekeurige getallen in het eerste framebuffer.
{  
  int i;
  int willekeurigGetal;
  unsigned char *p1=framebuffer1; // het eerste framebuffer.
  for (int positie = 0; positie <10; positie++) // tien posities.
  {    
    willekeurigGetal = random(0,10); // genereer een willekeurig getal tussen 0 en 9.
    for (i=0; i<FRAMEBUFFER_DEPTH; i++)
    {                                                     // zet het getal op de juiste beginpositie in het framebuffer.
      *(p1 + i*FRAMEBUFFER_WIDTH+beginPositie+positie) = character_map[FRAMEBUFFER_DEPTH*willekeurigGetal+i];  
    }  
  }      
}  



en dit dus het programma met 2 buffers.
deze heb ik dus ook gewijzigd van het arduinows forum, hierdoor staan er een paar dingetjes in die niet thuis horen in dit programma, zal het allemaal nog een keer nakijken
programmeren hoort trouwens niet bij mijn opleiding, alleen we zijn hier nu een beetje mee aan het "spelen"


gr Cees

Gebruikers-avatar
Berichten: 270
Geregistreerd: 30 Dec 2012, 11:42

Re: Lichtkrant Surtronic FDS-132

Berichtdoor Rudi » 11 Sep 2013, 13:29

De sketches en uitleg op mijn blog (géén forum) over de FDS-132 gaan over het stap voor stap begrijpen wat de hardware doet en hoe je die softwarematig kan aansturen. Met de bedoeling om de geïnteresseerde bloglezer op weg te zetten.
Ik ben geen ervaren programmeur, vandaar dat mijn sketches voortborduren op een basis aansturing.

Hetgeen jij wil (verschillende tekststrings afwisselend tonen) kan zeer zeker als je een beetje met C++ vertrouwd bent. Bekijk ook eens mijn sketch van de klok (en klok met temperatuuraanduiding), daarin wordt de display continu geupdatet.

Alleen denk ik dat het veel eenvoudiger voor je wordt als je de code van BartDeW gebruikt, zie hogerop in dit draadje. Bart heeft enkele classes geschreven waardoor je makkelijker tekst kan plaatsen op welke positie dan ook en je kan die tekst ook updaten of aanvullen met zelf gedefinieerde karakters.

Ik ben momenteel zijn code aan het uitpluizen en kom, voor mij dan, nieuwe dingen tegen zoals de -> operator bijvoorbeeld. Maar dat is dan weer een ander verhaal. Komt ook nog een blogje over binnenkort.
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Berichten: 3
Geregistreerd: 11 Sep 2013, 10:04

Re: Lichtkrant Surtronic FDS-132

Berichtdoor ceesieduijst » 11 Sep 2013, 14:36

oke bedankt ik ga het verder uitzoeken!
(ohja blog geen forum:p sorry! )
krijg ik net een nieuw display voor mn neus, is het de andere (FDS 32) de verkeerde aangevinkt dus..
degene waar ik tot nu toe mee werkte had ik in bruikleen vandaar..
nu dus uit zien te vinden waar ik deze mee ga aansturen...

Berichten: 7
Geregistreerd: 05 Sep 2013, 22:36

Re: Lichtkrant Surtronic FDS-132

Berichtdoor BartDeW » 11 Sep 2013, 15:53

Rudi schreef:Ik ben momenteel zijn code aan het uitpluizen en kom, voor mij dan, nieuwe dingen tegen zoals de -> operator bijvoorbeeld. Maar dat is dan weer een ander verhaal. Komt ook nog een blogje over binnenkort.


Ik neem aan dat je hier al uit bent, maar (voor jouw en anderen)
Code: Alles selecteren
a -> b

is niks meer dan een beter leesbare notatie voor
Code: Alles selecteren
(*a).b


De mensen die dat niet begrijpen zou ik adviseren over pointers te leren. In het begin lijken ze eng en naar, maar als ik in een andere taal programmeer mis ik ze. Pointers zijn je vriend!

Ik moest er met dit project wel aan wennen C-stijl pointers te gebruiken (de C++ "new" en "delete" commandos werken niet in onze compiler). Ik heb toen deze tutorial doorgenomen.

Ik zal proberen een oogje op het programmeren in C subforum te houden voor als iemand hier moeite mee heeft.

VorigeVolgende

Terug naar Overige hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 8 gasten