sketch_aug13a:8: error: expected unqualified-id before '{' token expected unqual

#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3); //pin2 Rx, pin3 Tx
int CMD[64]; // Here the Max command length is set as 64 bytes. For example, Command “AB 02 01” is 3 bytes
int comlen =0;
int out_flag =0;
void setup();

{
 
Serial.begin(9600);
mySerial.listen();

// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
delay(10);
mySerial.write(0x02);//Send the command to read RFID tag, please refer to the manual for more detail.
mySerial.write[STX];vn[ETX]
}
void loop() // run over and over
{
while (Serial.available())
{
int a = SerialReadHexDigit();
//Serial.println(a);
if(a>=0){
CMD[comlen] = a;
comlen++;
}
delay(10);
}

for(int i=0; i<comlen; i+=2){
int c = mySerial.write( CMD[i]*16 + CMD[i+1]); //Convert Hex Characters in to Hex number, and send it to RFID.
}
comlen =0;

while (mySerial.available()) {
byte C = mySerial.read();
if (C<10) Serial.print("0");
Serial.print(C ,HEX); //Display in HEX
Serial.print(" ");
out_flag =1;
}
if (out_flag >0) {
Serial.println();
out_flag = 0;
}

}
/*************************************************************************************
The following function is to receive data and judge if it is HEX character. Hex characters
include 1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,A,B,C,D,E,F
Any other characters sent with the command will be ignored.
**************************************************************************************/
int SerialReadHexDigit()
{
byte c = (byte) Serial.read();
if (c >= '0' && c <= '9z') {
return c - '0';
} else if (c >= 'a' && c <= 'f') {
return c - 'a' + 10;
} else if (c >= 'A' && c <= 'F') {
return c - 'A' + 10;
} else {
return -1; // getting here is bad: it means the character was invalid
}
}

Moderator edit:
</mark> <mark>[code]</mark> <mark>

</mark> <mark>[/code]</mark> <mark>
tags added.

void setup();

Oops.

erase the ; ?

Please read the two posts by Nick Gammon at the top of this Forum on the proper way to use this Forum, especially the use of code tags when posting code.

As to your program, there are many errors

void setup();            //   <------- Why is there a semicolon here??
  


mySerial.write[STX];     // Why brackets here when it should be parentheses? 
vn[ETX]                  // Where is vn[] defined?? Where is ETX defined?? Where's the semicolon?
}
void loop() // run over and over
{

 int c = mySerial.write(CMD*16 + CMD[i+1]); // Is CMD an array part of the time and then something
                                             //  else the rest of the time?

You need to spend some time learning how to read error messages. Start with errors that you make on purpose and see what the error message says. Eventually, you'll get a feel for them.

thank you :slight_smile: beginner on this thing