اطلاعیه

Collapse
No announcement yet.

مبدل usb به سریال pl2303

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مبدل usb به سریال pl2303

    چطوری میتونم با مبدل usb به سریال pl2303 از pc خود به میکرو وصل بشم و آیا با نرم افزار کدویژن و استفاده از این مبدل میتونم مستقیم به میکرو فرمان بدم ؟ و نیازی به پروگرم و ... نیست ؟؟؟

    #2
    پاسخ : مبدل usb به سریال pl2303

    این یک مبدل usb به سریاله ,وقتی درایور این مبدل نصب کردی یه پورت سریال مجازی به پورت های pc اضافه میشه بعد با ترمینال کدویژن میتونی از طریق ارتباط usart با میکرو ارتباط برقرار کنی...
    ربطی به پروگرام کردن نداره...

    دیدگاه


      #3
      پاسخ : مبدل usb به سریال pl2303

      سلام
      فکر میکنم منظور دوستمون پروگرام کردن میکرو با پورت سریال باشه. اگه اینطوره شما باید بار اول با استفاده از پروگرامرهای معمولی روی میکرو Boot Loader نصب کنی و بعد میتونی با استفاده از پورت سریال پروگرامش کنی.
      http://www.chip45.com/avr_bootloader...hip45boot2.php
      تشكر نكن، صلوات بفرست:

      [img width=165 height=100]http://www.askdin.com/gallery/images/29839/1___________5.png[/img]

      دیدگاه


        #4
        پاسخ : مبدل usb به سریال pl2303

        سلام
        لطفا راهنماییی کنید چطوری درایور رو نصب کنم.هر کاری میکنم ارور میده

        دیدگاه


          #5
          پاسخ : مبدل usb به سریال pl2303

          اگه ویندوزتون 8 به بالا هست متاسفانه نمیتونید از این مبدل استفاده کنید...واسه این ویندوزها درایور نداره...از مدل های دیگه استفاده کنید...
          تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

          www.intelart.ir


          ساخت کنترلر دما PID فازي با AVR [آموزشی]

          دیدگاه


            #6
            پاسخ : مبدل usb به سریال pl2303

            نه.ویندوزم 7 هست

            دیدگاه


              #7
              پاسخ : مبدل usb به سریال pl2303

              از لینک زیر درایور رو دوباره دانلود کنید...32 یا 64 بیتی بودن ویندوز و درایور رو هم رعایت کنید...اگر باز هم مشکلی وجود داشت تصویر ارور رو بذارید ببینیم مشک چیه...

              Prolific Technology is a IC design house company and ASIC design service provider for USB Smart I/O (USB to UART, Card Readers, External USB Drive), Intelligent Green Energy Saving, and Mixed-Mode Hall Sensor solutions.
              تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

              www.intelart.ir


              ساخت کنترلر دما PID فازي با AVR [آموزشی]

              دیدگاه


                #8
                پاسخ : مبدل usb به سریال pl2303

                سلام به دوستان

                خواستم بدونم ولتاژی که روی پایه های گیرنده و فرستنده این ماژول قرار میگیره چند ولت هست ؟؟
                آیا 5 ولته یا 3.3 ولت ؟؟؟
                آرزوی سرافرازی برای ایران عزیز . . .


                دیدگاه


                  #9
                  پاسخ : مبدل usb به سریال pl2303

                  نوشته اصلی توسط rezamajdi نمایش پست ها
                  سلام به دوستان

                  خواستم بدونم ولتاژی که روی پایه های گیرنده و فرستنده این ماژول قرار میگیره چند ولت هست ؟؟
                  آیا 5 ولته یا 3.3 ولت ؟؟؟
                  سطح ولتاژ دیتا ۳.۳ ولت هست ،برای ماژول های ۵ ولت هم می*تونه مبدل باشه ،

                  دیدگاه


                    #10
                    پاسخ : مبدل usb به سریال pl2303

                    حتما باید از ترمینال یا کدویژ« استفاده کرد یا میشه با VB به برنامه نوشت و با اون برنامه کاربر دستگاه رو کنترل کنه
                    خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                    "دکتر علی شریعتی"

                    دیدگاه


                      #11
                      پاسخ : مبدل usb به سریال pl2303

                      نوشته اصلی توسط saeedgreat نمایش پست ها
                      حتما باید از ترمینال یا کدویژ« استفاده کرد یا میشه با VB به برنامه نوشت و با اون برنامه کاربر دستگاه رو کنترل کنه
                      بله با بیسیک هم میتونید از طریق پورت کام انتقال دیتا کنید . فقط باید تنظیمات انتخاب کام و بادریت در برنامه بذارید که با طرف دیگه ارتباط هماهنگ باشه

                      دیدگاه


                        #12
                        پاسخ : مبدل usb به سریال pl2303

                        کتابخونه خاصی نداره؟/
                        خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                        "دکتر علی شریعتی"

                        دیدگاه


                          #13
                          Re: مبدل usb به سریال pl2303

                          دوستان من برنمه رو به C#نوشتم و برنامه میکرو هم نوشتم الآن از نظر شبیه سازی تو پرتئوس خوب کار میکنه و لی تو واقعیت اصلا شبیه به شبیه سازی نیست؟
                          میکرو رو پروگرام کردم و با همین ماژول pl2303 به pc وسلیدم ولی اصلا خروجیش مثل میکرو کار نمیکنه نمیدونم دلیشلش چیه و اینکه اول کار پایه ها ولتاژ ولت دارند بعد از یه مدت به 1.4 میرسه نمیدونم چرا لطفا راهنماییم کنید من شبیه سازی پرتئوس و برنامه ای کنترلش رو میزار ببینید میتونید رراهنماییم کنید مرسی




                          دلیل: ادغام دو پست برای جلوگیری از اسپم

                          کد:
                          #include <mega16a.h>
                          #include <stdio.h>
                           #include <delay.h>    
                           #include <stdlib.h>   
                            #include <string.h>   
                           
                          
                          
                          void main(void)
                          {
                          
                          int  i;
                          //int p[8];
                           char num[24];
                          //// char A[8],B[8],C[8];
                          
                          //char buffer[24];
                          // USART initialization
                          // Communication Parameters: 8 Data, 1 Stop, No Parity
                          // USART Receiver: On
                          // USART Transmitter: On
                          // USART Mode: Asynchronous
                          // USART Baud Rate: 9600
                          UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
                          UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
                          UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
                          UBRRH=0x00;
                          UBRRL=0x33;
                           
                           
                           DDRA=0xFF;
                           PORTA=0x00;
                           
                           
                           
                          while (1)
                                {   
                                
                          scanf("%s",&num);
                          //sprintf(buffer,"number=%s\r",num); 
                          //puts(buffer);
                          
                          //for (i=0;i<8;i++){
                          //A[i]=num[i];
                          //}
                          
                           
                            //  long int i = strtol(A, 0, 2);
                          //    PORTA=atol(A);
                          
                          PORTA.0=num[0]-48;
                          PORTA.1=num[1]-48;
                          PORTA.2=num[2]-48;
                          PORTA.3=num[3]-48;
                          PORTA.4=num[4]-48;
                          PORTA.5=num[5]-48;
                          PORTA.6=num[6]-48;
                          PORTA.7=num[7]-48;
                          
                              
                          //for (i=8;i<16;i++){
                          //B[i]=num[i];
                          //}
                          
                          PORTB.0=num[8]-48;
                          PORTB.1=num[9]-48;
                          PORTB.2=num[10]-48;
                          PORTB.3=num[11]-48;
                          PORTB.4=num[12]-48;
                          PORTB.5=num[13]-48;
                          PORTB.6=num[14]-48;
                          PORTB.7=num[15]-48;
                          
                          //for (i=16;i<24;i++){
                          //C[i]=num[i];
                          //}
                           
                          PORTC.0=num[16]-48;
                          PORTC.1=num[17]-48;
                          PORTC.2=num[18]-48;
                          PORTC.3=num[19]-48;
                          PORTC.4=num[20]-48;
                          PORTC.5=num[21]-48;
                          PORTC.6=num[22]-48;
                          PORTC.7=num[23]-48;
                          
                          
                          printf("\n number=%s",num);
                          // PORTA=atoi(i); 
                           
                          
                          
                                }
                               
                          
                          
                          }
                          برنامه میکرو

                          برنامه C#
                          کد:
                          using System;
                          using System.Collections.Generic;
                          using System.ComponentModel;
                          using System.Data;
                          using System.Drawing;
                          using System.Linq;
                          using System.Text;
                          using System.Threading.Tasks;
                          using System.Windows.Forms;
                          using System.IO.Ports;
                          
                          
                          namespace Serial_Terminal
                          {
                             
                          
                          
                              public partial class Form1 : Form
                          //sajadgreat@gmail.com
                              {
                                  int[] a = new int[24];
                                  string q;
                                  string[] s = new string[24];
                                  string strRecieve;
                                  string strbaud;
                                   public Form1()
                                  {
                                      InitializeComponent();
                                  }
                          
                                  private void btnClose_Click(object sender, EventArgs e)
                                  {
                                      this.Close();
                                      
                                  }
                          
                                  private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
                                  {
                          
                                      strbaud = comboBox2.Text;
                                      serialPort1.Close();
                          
                                      try
                                      {
                                          serialPort1.DataBits = 8;
                                          serialPort1.Parity = Parity.None;
                                          serialPort1.StopBits = StopBits.One;
                                          serialPort1.BaudRate = int.Parse(strbaud);
                                          serialPort1.PortName = comboBox1.Text;
                                          serialPort1.Open();
                                          serialPort1.DiscardInBuffer();
                                          label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                          label1.BackColor = System.Drawing.Color.Green;
                                          label1.ForeColor = System.Drawing.Color.White;
                                          listBox1.Text = comboBox1.Text;
                                      }
                          
                                      catch
                                      {
                                          label1.Text = "Disconnected";
                                          label1.BackColor = System.Drawing.Color.Red;
                                          label1.ForeColor = System.Drawing.Color.White;
                                          MessageBox.Show("Can't Access "+ "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                      }
                                  }
                          
                                  private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
                                  {
                          
                          
                                      strbaud = comboBox2.Text;
                          
                                      try
                                      {
                                          serialPort1.BaudRate = int.Parse(strbaud);
                                          serialPort1.DiscardInBuffer();
                                          label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                          label1.BackColor = System.Drawing.Color.Green;
                                          label1.ForeColor = System.Drawing.Color.White;
                                      }
                          
                                      catch
                                      {
                                          label1.Text = "Disconnected";
                                          label1.BackColor = System.Drawing.Color.Red;
                                          label1.ForeColor = System.Drawing.Color.White;
                                          MessageBox.Show("Can't Access This PORT", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                      } 
                          
                             
                          
                                  }
                          
                                  private void Form1_Load(object sender, EventArgs e)
                                  {
                                      foreach (string s in SerialPort.GetPortNames())
                                      {
                          
                                          listBox1.Items.Add(s);
                          
                                      }
                          
                                  }
                          
                                  private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
                                  {
                                    comboBox1.Text = listBox1.Text;
                          
                                    strbaud = comboBox2.Text;
                                    serialPort1.Close();
                          
                                    try
                                    {
                                        serialPort1.DataBits = 8;
                                        serialPort1.Parity = Parity.None;
                                        serialPort1.StopBits = StopBits.One;
                                        serialPort1.BaudRate = int.Parse(strbaud);
                                        serialPort1.PortName = comboBox1.Text;
                                        serialPort1.Open();
                                        serialPort1.DiscardInBuffer();
                                        label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                        label1.BackColor = System.Drawing.Color.Green;
                                        label1.ForeColor = System.Drawing.Color.White;
                          
                                    }
                          
                                    catch
                                    {
                                        label1.Text = "Disconnected";
                                        label1.BackColor = System.Drawing.Color.Red;
                                        label1.ForeColor = System.Drawing.Color.White;
                                        MessageBox.Show("Can't Access " + "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                          
                                  }
                          
                                  private void btnRefresh_Click(object sender, EventArgs e)
                                  {
                                      listBox1.Items.Clear();
                          
                                      foreach (string s in SerialPort.GetPortNames())
                                      {
                          
                                          listBox1.Items.Add(s);
                          
                                      }
                          
                                  }
                          
                                  private void btnSend_Click(object sender, EventArgs e)
                                  {
                                      if (serialPort1.IsOpen == true) {
                          
                          
                                        q = "";
                                          // textBox1.AppendText(s.ToString());
                                          for (int i = 0; i < a.Length; i++)
                                          {
                                              q += a[i];
                                             
                                          }
                                          Console.Write(">>>>"+ q + "<<<<");
                                           serialPort1.WriteLine(q);
                          
                                      }
                                      else
                                          MessageBox.Show("Can't Access " + "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                          
                          
                                  }
                          
                                  private void DisplayText(object sender, EventArgs e)
                                  {
                                     // textBox2.AppendText(strRecieve);
                                   }
                             
                                  private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
                                  {
                                      strRecieve = serialPort1.ReadExisting();
                                      this.Invoke(new EventHandler(DisplayText));
                          
                                  }
                          
                                  private void btnClearSend_Click(object sender, EventArgs e)
                                  {
                          //textBox1.Clear();
                                  }
                          
                                  private void btnClearRecieve_Click(object sender, EventArgs e)
                                  {
                                    //  textBox2.Clear();
                                  }
                          
                                  private void btnClosePort_Click(object sender, EventArgs e)
                                  {
                                      try
                                      {
                                          
                          
                                          GC.SuppressFinalize(this);      
                                          label1.Text = "Disconnected";
                                          label1.BackColor = System.Drawing.Color.Red;
                                          label1.ForeColor = System.Drawing.Color.White;
                                          serialPort1.Close();
                                      }
                                      catch
                                      {
                          
                          
                                       MessageBox.Show("Cant Close", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                          
                                      }
                          
                          
                                    
                          
                                  }
                          
                                  private void CheckBox1_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox1.Checked)
                                      {
                                          a[0] = 1;
                                          s[0] = "1";
                          
                                      }
                                      else
                                      {
                                          a[0] = 0;
                                          s[0] = "0";
                                      }
                                  }
                          
                                  private void CheckBox2_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox2.Checked)
                                      {
                                          a[1] = 1;
                                          s[1] = "1";
                                      }
                                      else
                                      {
                                          a[1] = 0;
                                          s[1] = "0";
                                      }
                                  }
                          
                                 private void CheckBox3_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox3.Checked)
                                      {
                                          a[2] = 1;
                                          s[2] = "1";
                          
                                      }
                                      else
                                      {
                                          a[2] = 0;
                                          s[2] = "0";
                                      }
                          
                                  }
                          
                                  private void CheckBox4_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox4.Checked)
                                      {
                                          a[3] = 1;
                                          s[3] = "1";
                          
                                      }
                                      else
                                      {
                                          a[3] = 0;
                                          s[3] = "0";
                                      }
                                  }
                          
                                  private void CheckBox5_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox5.Checked)
                                      {
                                          a[4] = 1;
                                          s[4] = "1";
                          
                                      }
                                      else
                                      {
                                          a[4] = 0;
                                          s[4] = "0";
                                      }
                                  }
                          
                                  private void CheckBox6_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox6.Checked)
                                      {
                                          a[5] = 1;
                                          s[5] = "1";
                          
                                      }
                                      else
                                      {
                                          a[5] = 0;
                                          s[5] = "0";
                                      }
                                  }
                          
                                  private void CheckBox7_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox7.Checked)
                                      {
                                          a[6] = 1;
                                          s[6] = "1";
                          
                                      }
                                      else
                                      {
                                          a[6] = 0;
                                          s[6] = "0";
                                      }
                                  }
                          
                                  private void CheckBox8_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox8.Checked)
                                      {
                                          a[7] = 1;
                                          s[7] = "1";
                          
                                      }
                                      else
                                      {
                                          a[7] = 0;
                                          s[7] = "0";
                                      }
                                  }
                          
                                  private void CheckBox9_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox9.Checked)
                                      {
                                          a[8] = 1;
                                          s[8] = "1";
                          
                                      }
                                      else
                                      {
                                          a[8] = 0;
                                          s[8] = "0";
                                      }
                          
                                  
                                  }
                          
                                  private void CheckBox10_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox10.Checked)
                                      {
                                          a[9] = 1;
                                          s[9] = "1";
                          
                                      }
                                      else
                                      {
                                          a[9] = 0;
                                          s[9] = "0";
                                      }
                                  }
                          
                                  private void CheckBox11_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox11.Checked)
                                      {
                                          a[10] = 1;
                                          s[10] = "1";
                          
                                      }
                                      else
                                      {
                                          a[10] = 0;
                                          s[10] = "0";
                                      }
                                  }
                          
                                  private void CheckBox12_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox12.Checked)
                                      {
                                          a[11] = 1;
                                          s[11] = "1";
                          
                                      }
                                      else
                                      {
                                          a[11] = 0;
                                          s[11] = "0";
                                      }
                                  }
                          
                                  private void CheckBox13_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox13.Checked)
                                      {
                                          a[12] = 1;
                                          s[12] = "1";
                          
                                      }
                                      else
                                      {
                                          a[12] = 0;
                                          s[12] = "0";
                                      }
                                  }
                          
                                  private void CheckBox14_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox14.Checked)
                                      {
                                          a[13] = 1;
                                          s[13] = "1";
                          
                                      }
                                      else
                                      {
                                          a[13] = 0;
                                          s[13] = "0";
                                      }
                                  }
                          
                                  private void CheckBox15_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox15.Checked)
                                      {
                                          a[14] = 1;
                                          s[14] = "1";
                          
                                      }
                                      else
                                      {
                                          a[14] = 0;
                                          s[14] = "0";
                                      }
                                  }
                          
                                  private void CheckBox16_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox16.Checked)
                                      {
                                          a[15] = 1;
                                          s[15] = "1";
                          
                                      }
                                      else
                                      {
                                          a[15] = 0;
                                          s[15] = "0";
                                      }
                                  }
                          
                                  private void CheckBox17_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox17.Checked)
                                      {
                                          a[16] = 1;
                                          s[16] = "1";
                          
                                      }
                                      else
                                      {
                                          a[16] = 0;
                                          s[16] = "0";
                                      }
                                  }
                          
                                  private void CheckBox18_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox18.Checked)
                                      {
                                          a[17] = 1;
                                          s[17] = "1";
                          
                                      }
                                      else
                                      {
                                          a[17] = 0;
                                          s[17] = "0";
                                      }
                                  }
                          
                                  private void CheckBox19_CheckedChanged(object sender, EventArgs e)
                                  {
                          
                                      if (CheckBox19.Checked)
                                      {
                                          a[18] = 1;
                                          s[18] = "1";
                          
                                      }
                                      else
                                      {
                                          a[18] = 0;
                                          s[18] = "0";
                                      }
                                  }
                          
                                  private void CheckBox20_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox20.Checked)
                                      {
                                          a[19] = 1;
                                          s[19] = "1";
                          
                                      }
                                      else
                                      {
                                          a[19] = 0;
                                          s[19] = "0";
                                      }
                          
                                  }
                          
                                  private void CheckBox21_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox21.Checked)
                                      {
                                          a[20] = 1;
                                          s[20] = "1";
                          
                                      }
                                      else
                                      {
                                          a[20] = 0;
                                          s[20] = "0";
                                      }
                                  }
                          
                                  private void CheckBox22_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox22.Checked)
                                      {
                                          a[21] = 1;
                                          s[21] = "1";
                          
                                      }
                                      else
                                      {
                                          a[21] = 0;
                                          s[21] = "0";
                                      }
                                  }
                          
                                  private void CheckBox23_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox23.Checked)
                                      {
                                          a[22] = 1;
                                          s[22] = "1";
                          
                                      }
                                      else
                                      {
                                          a[22] = 0;
                                          s[22] = "0";
                                      }
                                  }
                          
                                  private void CheckBox24_CheckedChanged(object sender, EventArgs e)
                                  {
                                      if (CheckBox24.Checked)
                                      {
                                          a[23] = 1;
                                          s[23] = "1";
                          
                                      }
                                      else
                                      {
                                          a[23] = 0;
                                          s[23] = "0";
                                      }
                                  }
                          
                                  //private void textBox2_TextChanged(object sender, EventArgs e)
                                  //{
                          
                                  //}
                              }
                          
                          
                          
                          
                              
                          
                          
                          
                          }
                          خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                          &quot;دکتر علی شریعتی&quot;

                          دیدگاه


                            #14
                            پاسخ : Re: مبدل usb به سریال pl2303

                            نوشته اصلی توسط saeedgreat نمایش پست ها
                            دوستان من برنمه رو به C#نوشتم و برنامه میکرو هم نوشتم الآن از نظر شبیه سازی تو پرتئوس خوب کار میکنه و لی تو واقعیت اصلا شبیه به شبیه سازی نیست؟
                            میکرو رو پروگرام کردم و با همین ماژول pl2303 به pc وسلیدم ولی اصلا خروجیش مثل میکرو کار نمیکنه نمیدونم دلیشلش چیه و اینکه اول کار پایه ها ولتاژ ولت دارند بعد از یه مدت به 1.4 میرسه نمیدونم چرا لطفا راهنماییم کنید من شبیه سازی پرتئوس و برنامه ای کنترلش رو میزار ببینید میتونید رراهنماییم کنید مرسی




                            دلیل: ادغام دو پست برای جلوگیری از اسپم

                            کد:
                            #include <mega16a.h>
                            #include <stdio.h>
                             #include <delay.h>    
                             #include <stdlib.h>   
                              #include <string.h>   
                             
                            
                            
                            void main(void)
                            {
                            
                            int  i;
                            //int p[8];
                             char num[24];
                            //// char A[8],B[8],C[8];
                            
                            //char buffer[24];
                            // USART initialization
                            // Communication Parameters: 8 Data, 1 Stop, No Parity
                            // USART Receiver: On
                            // USART Transmitter: On
                            // USART Mode: Asynchronous
                            // USART Baud Rate: 9600
                            UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);
                            UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
                            UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
                            UBRRH=0x00;
                            UBRRL=0x33;
                             
                             
                             DDRA=0xFF;
                             PORTA=0x00;
                             
                             
                             
                            while (1)
                                  {   
                                  
                            scanf("%s",&num);
                            //sprintf(buffer,"number=%s\r",num); 
                            //puts(buffer);
                            
                            //for (i=0;i<8;i++){
                            //A[i]=num[i];
                            //}
                            
                             
                              //  long int i = strtol(A, 0, 2);
                            //    PORTA=atol(A);
                            
                            PORTA.0=num[0]-48;
                            PORTA.1=num[1]-48;
                            PORTA.2=num[2]-48;
                            PORTA.3=num[3]-48;
                            PORTA.4=num[4]-48;
                            PORTA.5=num[5]-48;
                            PORTA.6=num[6]-48;
                            PORTA.7=num[7]-48;
                            
                                
                            //for (i=8;i<16;i++){
                            //B[i]=num[i];
                            //}
                            
                            PORTB.0=num[8]-48;
                            PORTB.1=num[9]-48;
                            PORTB.2=num[10]-48;
                            PORTB.3=num[11]-48;
                            PORTB.4=num[12]-48;
                            PORTB.5=num[13]-48;
                            PORTB.6=num[14]-48;
                            PORTB.7=num[15]-48;
                            
                            //for (i=16;i<24;i++){
                            //C[i]=num[i];
                            //}
                             
                            PORTC.0=num[16]-48;
                            PORTC.1=num[17]-48;
                            PORTC.2=num[18]-48;
                            PORTC.3=num[19]-48;
                            PORTC.4=num[20]-48;
                            PORTC.5=num[21]-48;
                            PORTC.6=num[22]-48;
                            PORTC.7=num[23]-48;
                            
                            
                            printf("\n number=%s",num);
                            // PORTA=atoi(i); 
                             
                            
                            
                                  }
                                 
                            
                            
                            }
                            برنامه میکرو

                            برنامه C#
                            کد:
                            using System;
                            using System.Collections.Generic;
                            using System.ComponentModel;
                            using System.Data;
                            using System.Drawing;
                            using System.Linq;
                            using System.Text;
                            using System.Threading.Tasks;
                            using System.Windows.Forms;
                            using System.IO.Ports;
                            
                            
                            namespace Serial_Terminal
                            {
                               
                            
                            
                                public partial class Form1 : Form
                            //sajadgreat@gmail.com
                                {
                                    int[] a = new int[24];
                                    string q;
                                    string[] s = new string[24];
                                    string strRecieve;
                                    string strbaud;
                                     public Form1()
                                    {
                                        InitializeComponent();
                                    }
                            
                                    private void btnClose_Click(object sender, EventArgs e)
                                    {
                                        this.Close();
                                        
                                    }
                            
                                    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
                                    {
                            
                                        strbaud = comboBox2.Text;
                                        serialPort1.Close();
                            
                                        try
                                        {
                                            serialPort1.DataBits = 8;
                                            serialPort1.Parity = Parity.None;
                                            serialPort1.StopBits = StopBits.One;
                                            serialPort1.BaudRate = int.Parse(strbaud);
                                            serialPort1.PortName = comboBox1.Text;
                                            serialPort1.Open();
                                            serialPort1.DiscardInBuffer();
                                            label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                            label1.BackColor = System.Drawing.Color.Green;
                                            label1.ForeColor = System.Drawing.Color.White;
                                            listBox1.Text = comboBox1.Text;
                                        }
                            
                                        catch
                                        {
                                            label1.Text = "Disconnected";
                                            label1.BackColor = System.Drawing.Color.Red;
                                            label1.ForeColor = System.Drawing.Color.White;
                                            MessageBox.Show("Can't Access "+ "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        }
                                    }
                            
                                    private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
                                    {
                            
                            
                                        strbaud = comboBox2.Text;
                            
                                        try
                                        {
                                            serialPort1.BaudRate = int.Parse(strbaud);
                                            serialPort1.DiscardInBuffer();
                                            label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                            label1.BackColor = System.Drawing.Color.Green;
                                            label1.ForeColor = System.Drawing.Color.White;
                                        }
                            
                                        catch
                                        {
                                            label1.Text = "Disconnected";
                                            label1.BackColor = System.Drawing.Color.Red;
                                            label1.ForeColor = System.Drawing.Color.White;
                                            MessageBox.Show("Can't Access This PORT", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        } 
                            
                               
                            
                                    }
                            
                                    private void Form1_Load(object sender, EventArgs e)
                                    {
                                        foreach (string s in SerialPort.GetPortNames())
                                        {
                            
                                            listBox1.Items.Add(s);
                            
                                        }
                            
                                    }
                            
                                    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
                                    {
                                      comboBox1.Text = listBox1.Text;
                            
                                      strbaud = comboBox2.Text;
                                      serialPort1.Close();
                            
                                      try
                                      {
                                          serialPort1.DataBits = 8;
                                          serialPort1.Parity = Parity.None;
                                          serialPort1.StopBits = StopBits.One;
                                          serialPort1.BaudRate = int.Parse(strbaud);
                                          serialPort1.PortName = comboBox1.Text;
                                          serialPort1.Open();
                                          serialPort1.DiscardInBuffer();
                                          label1.Text = "( " + comboBox1.Text + " )" + "   CONNECTED ";
                                          label1.BackColor = System.Drawing.Color.Green;
                                          label1.ForeColor = System.Drawing.Color.White;
                            
                                      }
                            
                                      catch
                                      {
                                          label1.Text = "Disconnected";
                                          label1.BackColor = System.Drawing.Color.Red;
                                          label1.ForeColor = System.Drawing.Color.White;
                                          MessageBox.Show("Can't Access " + "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                      }
                            
                                    }
                            
                                    private void btnRefresh_Click(object sender, EventArgs e)
                                    {
                                        listBox1.Items.Clear();
                            
                                        foreach (string s in SerialPort.GetPortNames())
                                        {
                            
                                            listBox1.Items.Add(s);
                            
                                        }
                            
                                    }
                            
                                    private void btnSend_Click(object sender, EventArgs e)
                                    {
                                        if (serialPort1.IsOpen == true) {
                            
                            
                                          q = "";
                                            // textBox1.AppendText(s.ToString());
                                            for (int i = 0; i < a.Length; i++)
                                            {
                                                q += a[i];
                                               
                                            }
                                            Console.Write(">>>>"+ q + "<<<<");
                                             serialPort1.WriteLine(q);
                            
                                        }
                                        else
                                            MessageBox.Show("Can't Access " + "(" + comboBox1.Text + ")", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            
                            
                                    }
                            
                                    private void DisplayText(object sender, EventArgs e)
                                    {
                                       // textBox2.AppendText(strRecieve);
                                     }
                               
                                    private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
                                    {
                                        strRecieve = serialPort1.ReadExisting();
                                        this.Invoke(new EventHandler(DisplayText));
                            
                                    }
                            
                                    private void btnClearSend_Click(object sender, EventArgs e)
                                    {
                            //textBox1.Clear();
                                    }
                            
                                    private void btnClearRecieve_Click(object sender, EventArgs e)
                                    {
                                      //  textBox2.Clear();
                                    }
                            
                                    private void btnClosePort_Click(object sender, EventArgs e)
                                    {
                                        try
                                        {
                                            
                            
                                            GC.SuppressFinalize(this);      
                                            label1.Text = "Disconnected";
                                            label1.BackColor = System.Drawing.Color.Red;
                                            label1.ForeColor = System.Drawing.Color.White;
                                            serialPort1.Close();
                                        }
                                        catch
                                        {
                            
                            
                                         MessageBox.Show("Cant Close", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            
                                        }
                            
                            
                                      
                            
                                    }
                            
                                    private void CheckBox1_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox1.Checked)
                                        {
                                            a[0] = 1;
                                            s[0] = "1";
                            
                                        }
                                        else
                                        {
                                            a[0] = 0;
                                            s[0] = "0";
                                        }
                                    }
                            
                                    private void CheckBox2_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox2.Checked)
                                        {
                                            a[1] = 1;
                                            s[1] = "1";
                                        }
                                        else
                                        {
                                            a[1] = 0;
                                            s[1] = "0";
                                        }
                                    }
                            
                                   private void CheckBox3_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox3.Checked)
                                        {
                                            a[2] = 1;
                                            s[2] = "1";
                            
                                        }
                                        else
                                        {
                                            a[2] = 0;
                                            s[2] = "0";
                                        }
                            
                                    }
                            
                                    private void CheckBox4_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox4.Checked)
                                        {
                                            a[3] = 1;
                                            s[3] = "1";
                            
                                        }
                                        else
                                        {
                                            a[3] = 0;
                                            s[3] = "0";
                                        }
                                    }
                            
                                    private void CheckBox5_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox5.Checked)
                                        {
                                            a[4] = 1;
                                            s[4] = "1";
                            
                                        }
                                        else
                                        {
                                            a[4] = 0;
                                            s[4] = "0";
                                        }
                                    }
                            
                                    private void CheckBox6_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox6.Checked)
                                        {
                                            a[5] = 1;
                                            s[5] = "1";
                            
                                        }
                                        else
                                        {
                                            a[5] = 0;
                                            s[5] = "0";
                                        }
                                    }
                            
                                    private void CheckBox7_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox7.Checked)
                                        {
                                            a[6] = 1;
                                            s[6] = "1";
                            
                                        }
                                        else
                                        {
                                            a[6] = 0;
                                            s[6] = "0";
                                        }
                                    }
                            
                                    private void CheckBox8_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox8.Checked)
                                        {
                                            a[7] = 1;
                                            s[7] = "1";
                            
                                        }
                                        else
                                        {
                                            a[7] = 0;
                                            s[7] = "0";
                                        }
                                    }
                            
                                    private void CheckBox9_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox9.Checked)
                                        {
                                            a[8] = 1;
                                            s[8] = "1";
                            
                                        }
                                        else
                                        {
                                            a[8] = 0;
                                            s[8] = "0";
                                        }
                            
                                    
                                    }
                            
                                    private void CheckBox10_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox10.Checked)
                                        {
                                            a[9] = 1;
                                            s[9] = "1";
                            
                                        }
                                        else
                                        {
                                            a[9] = 0;
                                            s[9] = "0";
                                        }
                                    }
                            
                                    private void CheckBox11_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox11.Checked)
                                        {
                                            a[10] = 1;
                                            s[10] = "1";
                            
                                        }
                                        else
                                        {
                                            a[10] = 0;
                                            s[10] = "0";
                                        }
                                    }
                            
                                    private void CheckBox12_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox12.Checked)
                                        {
                                            a[11] = 1;
                                            s[11] = "1";
                            
                                        }
                                        else
                                        {
                                            a[11] = 0;
                                            s[11] = "0";
                                        }
                                    }
                            
                                    private void CheckBox13_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox13.Checked)
                                        {
                                            a[12] = 1;
                                            s[12] = "1";
                            
                                        }
                                        else
                                        {
                                            a[12] = 0;
                                            s[12] = "0";
                                        }
                                    }
                            
                                    private void CheckBox14_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox14.Checked)
                                        {
                                            a[13] = 1;
                                            s[13] = "1";
                            
                                        }
                                        else
                                        {
                                            a[13] = 0;
                                            s[13] = "0";
                                        }
                                    }
                            
                                    private void CheckBox15_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox15.Checked)
                                        {
                                            a[14] = 1;
                                            s[14] = "1";
                            
                                        }
                                        else
                                        {
                                            a[14] = 0;
                                            s[14] = "0";
                                        }
                                    }
                            
                                    private void CheckBox16_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox16.Checked)
                                        {
                                            a[15] = 1;
                                            s[15] = "1";
                            
                                        }
                                        else
                                        {
                                            a[15] = 0;
                                            s[15] = "0";
                                        }
                                    }
                            
                                    private void CheckBox17_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox17.Checked)
                                        {
                                            a[16] = 1;
                                            s[16] = "1";
                            
                                        }
                                        else
                                        {
                                            a[16] = 0;
                                            s[16] = "0";
                                        }
                                    }
                            
                                    private void CheckBox18_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox18.Checked)
                                        {
                                            a[17] = 1;
                                            s[17] = "1";
                            
                                        }
                                        else
                                        {
                                            a[17] = 0;
                                            s[17] = "0";
                                        }
                                    }
                            
                                    private void CheckBox19_CheckedChanged(object sender, EventArgs e)
                                    {
                            
                                        if (CheckBox19.Checked)
                                        {
                                            a[18] = 1;
                                            s[18] = "1";
                            
                                        }
                                        else
                                        {
                                            a[18] = 0;
                                            s[18] = "0";
                                        }
                                    }
                            
                                    private void CheckBox20_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox20.Checked)
                                        {
                                            a[19] = 1;
                                            s[19] = "1";
                            
                                        }
                                        else
                                        {
                                            a[19] = 0;
                                            s[19] = "0";
                                        }
                            
                                    }
                            
                                    private void CheckBox21_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox21.Checked)
                                        {
                                            a[20] = 1;
                                            s[20] = "1";
                            
                                        }
                                        else
                                        {
                                            a[20] = 0;
                                            s[20] = "0";
                                        }
                                    }
                            
                                    private void CheckBox22_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox22.Checked)
                                        {
                                            a[21] = 1;
                                            s[21] = "1";
                            
                                        }
                                        else
                                        {
                                            a[21] = 0;
                                            s[21] = "0";
                                        }
                                    }
                            
                                    private void CheckBox23_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox23.Checked)
                                        {
                                            a[22] = 1;
                                            s[22] = "1";
                            
                                        }
                                        else
                                        {
                                            a[22] = 0;
                                            s[22] = "0";
                                        }
                                    }
                            
                                    private void CheckBox24_CheckedChanged(object sender, EventArgs e)
                                    {
                                        if (CheckBox24.Checked)
                                        {
                                            a[23] = 1;
                                            s[23] = "1";
                            
                                        }
                                        else
                                        {
                                            a[23] = 0;
                                            s[23] = "0";
                                        }
                                    }
                            
                                    //private void textBox2_TextChanged(object sender, EventArgs e)
                                    //{
                            
                                    //}
                                }
                            
                            
                            
                            
                                
                            
                            
                            
                            }
                            سلام
                            از اسیلاتور داخلی استفاده میکنید؟ اگر جواب مثبته احتمالا مشکل از همین باشه! اسیلاتور داخلی از اونجایی که دقت خوبی نداره در یک ارتباط آسنکرون که دقت هر طرف ارتباط خیلی مهمه میتونه مشکل ایجاد کنه. من خودم قبلا با این موضوع برخورد کردم که با استفاده از کریستال خارجی مشکل کامل رفع شد.

                            دیدگاه


                              #15
                              Re: مبدل usb به سریال pl2303

                              من با توجه به چیزهایی که خوندم فیوزبیت ها رو به صورت عکس زیر پروگرام کردم . از کریسال خارج 12000000استاده کردم و دو خازن 22 پیکو ولی باز نتیجه ایی نگرفتم تو برنامه نویسیم مشکلی ندیدین؟
                              خدایا چگونه زیستن را به من بیاموز ، چگونه مردن را خود خواهم آموخت
                              &quot;دکتر علی شریعتی&quot;

                              دیدگاه

                              لطفا صبر کنید...
                              X