Fout in Sketch

Arduino specifieke Software
Gebruikers-avatar
Berichten: 111
Geregistreerd: 01 Jun 2016, 20:14

Fout in Sketch

Berichtdoor ruudhot » 14 Mrt 2018, 19:35

Hallo,

Ik heb een sketch die ik graag wil draaien, maar er zit een fout in.
Heb zelf al een hoop geprobeerd, maar kom er niet uit.

De fout is "Arduino: 1.8.2 (Windows 10), Board:"Arduino/Genuino Uno"

Morse_beacon:122: error: two or more data types in declaration of 'setup'

void setup() {

^

exit status 1
two or more data types in declaration of 'setup'

Ik hoop dat iemend de fout kan ontdekken!

Het gebeurd met dit programma:

Code: Alles selecteren
// Simple Arduino Morse Beacon
// Written by Mark VandeWettering K6HX
// Email: k6hx@arrl.net
//
// This code is so trivial that I'm releasing it completely without
// restrictions.  If you find it useful, it would be nice if you dropped
// me an email, maybe plugged my blog @ https://brainwagon.org or included
// a brief acknowledgement in whatever derivative you create, but that's
// just a courtesy.  Feel free to do whatever.
//


struct t_mtab { char c, pat; } ;

struct t_mtab morsetab[] = {
  {'.', 106},
  {',', 115},
  {'?', 76},
  {'/', 41},
  {'A', 6},
  {'B', 17},
  {'C', 21},
  {'D', 9},
  {'E', 2},
  {'F', 20},
  {'G', 11},
  {'H', 16},
  {'I', 4},
  {'J', 30},
  {'K', 13},
  {'L', 18},
  {'M', 7},
  {'N', 5},
  {'O', 15},
  {'P', 22},
  {'Q', 27},
  {'R', 10},
  {'S', 8},
  {'T', 3},
  {'U', 12},
  {'V', 24},
  {'W', 14},
  {'X', 25},
  {'Y', 29},
  {'Z', 19},
  {'1', 62},
  {'2', 60},
  {'3', 56},
  {'4', 48},
  {'5', 32},
  {'6', 33},
  {'7', 35},
  {'8', 39},
  {'9', 47},
  {'0', 63}
} ;

#define N_MORSE  (sizeof(morsetab)/sizeof(morsetab[0]))

#define SPEED  (12)
#define DOTLEN  (1200/SPEED)
#define DASHLEN  (3*(1200/SPEED))

int LEDpin = 13 ;

void
dash()
{
  digitalWrite(LEDpin, HIGH) ;
  delay(DASHLEN);
  digitalWrite(LEDpin, LOW) ;
  delay(DOTLEN) ;
}

void
dit()
{
  digitalWrite(LEDpin, HIGH) ;
  delay(DOTLEN);
  digitalWrite(LEDpin, LOW) ;
  delay(DOTLEN);
}

void
send(char c)
{
  int i ;
  if (c == ' ') {
    Serial.print(c) ;
    delay(7*DOTLEN) ;
    return ;
  }
  for (i=0; i<N_MORSE; i++) {
    if (morsetab[i].c == c) {
      unsigned char p = morsetab[i].pat ;
      Serial.print(morsetab[i].c) ;

      while (p != 1) {
          if (p & 1)
            dash() ;
          else
            dit() ;
          p = p / 2 ;
      }
      delay(2*DOTLEN) ;
      return ;
    }
  }
  /* if we drop off the end, then we send a space */
  Serial.print("?") ;
}

void
sendmsg(char *str)
{
  while (*str)
    send(*str++) ;
  Serial.println("");
}

void setup() {
  pinMode(LEDpin, OUTPUT) ;
  Serial.begin(9600) ;
  Serial.println("Simple Arduino Morse Beacon v0.0") ;
  Serial.println("") ;
}

void loop() {
  sendmsg("PA3XXX") ;// hier de tekst om te zenden.
  delay(3000) ;
}

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Fout in Sketch

Berichtdoor Koepel » 14 Mrt 2018, 19:44

Selecteer met je muis je eigen sketch van hierboven, en plak die in een nieuwe sketch. Compileert het dan wel ?
Als dat niet werkt, update dan naar de nieuwste versie, dat is nu Arduino IDE 1.8.5.
Lukt het dan nog niet, dan zijn er misschien nog oude Arduino of Java bestanden op je computer die de boel in de war sturen.

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

Re: Fout in Sketch

Berichtdoor Rudi » 14 Mrt 2018, 20:13

Zelfde error melding met 1.8.5
Void setup() bovenaan plaatsen zoals het hoort en de boel compileert zonder probleem.

cpp code
// Simple Arduino Morse Beacon
// Written by Mark VandeWettering K6HX
// Email: k6hx@arrl.net
//
// This code is so trivial that I'm releasing it completely without
// restrictions. If you find it useful, it would be nice if you dropped
// me an email, maybe plugged my blog @ https://brainwagon.org or included
// a brief acknowledgement in whatever derivative you create, but that's
// just a courtesy. Feel free to do whatever.
//


struct t_mtab { char c, pat; } ;

struct t_mtab morsetab[] = {
{'.', 106},
{',', 115},
{'?', 76},
{'/', 41},
{'A', 6},
{'B', 17},
{'C', 21},
{'D', 9},
{'E', 2},
{'F', 20},
{'G', 11},
{'H', 16},
{'I', 4},
{'J', 30},
{'K', 13},
{'L', 18},
{'M', 7},
{'N', 5},
{'O', 15},
{'P', 22},
{'Q', 27},
{'R', 10},
{'S', 8},
{'T', 3},
{'U', 12},
{'V', 24},
{'W', 14},
{'X', 25},
{'Y', 29},
{'Z', 19},
{'1', 62},
{'2', 60},
{'3', 56},
{'4', 48},
{'5', 32},
{'6', 33},
{'7', 35},
{'8', 39},
{'9', 47},
{'0', 63}
} ;

#define N_MORSE (sizeof(morsetab)/sizeof(morsetab[0]))

#define SPEED (12)
#define DOTLEN (1200/SPEED)
#define DASHLEN (3*(1200/SPEED))

int LEDpin = 13 ;

void setup()
{
pinMode(LEDpin, OUTPUT) ;
Serial.begin(9600) ;
Serial.println("Simple Arduino Morse Beacon v0.0") ;
Serial.println("") ;
}

void dash()
{
digitalWrite(LEDpin, HIGH) ;
delay(DASHLEN);
digitalWrite(LEDpin, LOW) ;
delay(DOTLEN) ;
}

void dit()
{
digitalWrite(LEDpin, HIGH) ;
delay(DOTLEN);
digitalWrite(LEDpin, LOW) ;
delay(DOTLEN);
}

void send(char c)
{
int i ;
if (c == ' ') {
Serial.print(c) ;
delay(7*DOTLEN) ;
return ;
}
for (i=0; i<N_MORSE; i++) {
if (morsetab[i].c == c) {
unsigned char p = morsetab[i].pat ;
Serial.print(morsetab[i].c) ;

while (p != 1) {
if (p & 1)
dash() ;
else
dit() ;
p = p / 2 ;
}
delay(2*DOTLEN) ;
return ;
}
}
/* if we drop off the end, then we send a space */
Serial.print("?") ;
}

void sendmsg(char *str)
{
while (*str)
send(*str++) ;
Serial.println("");
}

void loop() {
sendmsg("PA3XXX") ;// hier de tekst om te zenden.
delay(3000) ;
}
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Gebruikers-avatar
Berichten: 111
Geregistreerd: 01 Jun 2016, 20:14

Re: Fout in Sketch

Berichtdoor ruudhot » 14 Mrt 2018, 22:29

Yes!!!

Dat was het. Nu ben ik nog een newbie, maar vreemd dat de auteur het op die manier gemaakt heeft.

Maar inderdaad, de VOID naar het begin, en het werkt.

BEDANKT,
Ruud.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: iborqakic en 15 gasten