This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using the Dallas Semiconductor 450

Getting Error C141: syntax error near 'void' HELP

HERE IS THE CODE---

#include <reg51.h>
void MSDelay (unsigned int);
sbit input=P0^0;
sbit input2=P0^1;
sbit LLight=P1^1;
sbit RLight=P1^2;
sbit Bell=P1^3;
void main(void)
{ unsigned int i; input=0xFF; //'input' Input Port// input2=0xFF; //'input2' Input Port// LLight=0x00; //'LLight' As Output Port// RLight=0x00; //'RLight' As Output Port// Bell=0x00; //'Bell' As Output Port//
{ LLight=00; RLight=00; Bell=00; while (1) { { Bell=1; LLight=1; RLight=0; MSDelay (2500); } { Bell=1; LLight=0; RLight=1; MSDelay (2500); } }
} void MSDelay (unsigned int itime) { unsigned int i, j; for (i=0;i<itime;i++) for (j=0;j<1275;j++); }

Parents Reply Children
  • Why did you repost the source code (now with tags) without having fixed the issue I pointed out in my first post? Didn't my "arrow" and indenting clearly indicate your brace mismatch issue?

  • That was just me posting the original code in the right format, like requested...

    In this code I fixed the issue of the void() bracket, and also fixed a missing closing bracket right before the while loop, and doing all this solved my syntax error.

    #include <reg51.h>
    
    void MSDelay (unsigned int);
    
    sbit input = P0^0;
    sbit input2 = P0^1;
    sbit LLight = P1^1;
    sbit RLight = P1^2;
    sbit Bell = P1^3;
    
    void main(void)
    {
            unsigned int i;
            input = 0xFF; //'input' Input Port//
            input2 = 0xFF; //'input2' Input Port//
            LLight = 0x00; //'LLight' As Output Port//
            RLight = 0x00; //'RLight' As Output Port//
            Bell = 0x00; //'Bell' As Output Port//
            {
                    LLight = 0;
                    RLight = 0;
                    Bell = 0;
                    i=0;
            }  <================Missed This Closing Bracket
                    while (1)
                    {
                            {
                                    Bell = 1;
                                    LLight = 1;
                                    RLight = 0;
                                    MSDelay (2500);
                            }
                            {
                                    Bell = 1;
                                    LLight = 0;
                                    RLight = 1;
                                    MSDelay (2500);
                            }
                    }
            }  <=============End Of Main Bracket
    
    void MSDelay (unsigned int itime)
    {
            unsigned int i, j;
            for (i = 0; i < itime; i++)
                    for(j = 0; j < 1275; j++);
    }
    

  • Don't you find it easier to read the code if you make sure the indentation level follows the number of open braces?

  • Yes I do. Thank You.

    To begin with, I had the formatting right when i pasted the code in, but because i forgot the 'pre' and '/pre' it posted all messed up.

    I appreciate the help, and I hope it works the way I want it to, this while loop was a main concern of mine.

    I plan on making the while loop run off of two inputs (input, and input2)...which are hook up to a sensor similar to what you would find in a garage...and when either one of them is positive/tripped, it will run through the while loop, making the either the LLight (Left Light), or the RLight (Right Light)...dependant on the loop, with the bell going off the whole time.