اطلاعیه

Collapse
No announcement yet.

ارتباط با درگاههای Tiny210

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

    ارتباط با درگاههای Tiny210

    به چه روشی در WINCE6 با زبان C# می شود با پورتهای برد tiny210 ارتباط برقرار کرد.من می خواهم یک صفحه کلید ماتریسی را باهاش راه اندازی کنم
    ممنون می شم کمک کنید.

    #2
    پاسخ : ارتباط با درگاههای Tiny210

    سلام دوست گرامی من واست یک کلاس آماده کردم که کافی هست تو اون رو به برنامه خودت اضافه کنی و ازش استفاده کنی این کلاس میتونه راهنمای خوبی واسه شروع کارت باشه
    کد:
    using System;
    using System.Linq;
    using System.Collections.Generic;
    using System.Text;
    
    namespace SerialPort.ViewModel
    {
      public class Port
      {
        #region Property
        /// <summary>
        /// این پراپرتی مقدار شماره پورت را نگه داشته
        /// </summary>
        private string PortName { get; set; }
        /// <summary>
        /// این پراپرتی میزان باند ریت را نگه میدارد
        /// </summary>
        private int BaudRate { get; set; }
    
        private System.IO.Ports.SerialPort _mySerialPort;
        /// <summary>
        /// این پراپرتی یک پورت را تعریف کرده که با اولین بار فراخوانی پورت را ساخته و تنظیمات اولیه را انجام داده و برای دورهای بعد میتوان از آن استفاده نمود
        /// </summary>
        private System.IO.Ports.SerialPort MySerialPort
        {
          get
          {
            if (_mySerialPort == null)
            {
              _mySerialPort = new System.IO.Ports.SerialPort();
              _mySerialPort.BaudRate = BaudRate;
              _mySerialPort.DataBits = 8;
              _mySerialPort.StopBits = System.IO.Ports.StopBits.One;
              _mySerialPort.Parity = System.IO.Ports.Parity.None;
              _mySerialPort.PortName = PortName;
              _mySerialPort.RtsEnable = true;
              _mySerialPort.DtrEnable = true;
              _mySerialPort.Handshake = System.IO.Ports.Handshake.None;
              _mySerialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(SerialPort_DataReceived);
            }
            return _mySerialPort;
          }
        }
        #endregion
    
        /// <summary>
        /// شما با فراخوانی این تابع ابتدا پورت را ساخته و مقدار باندریت و شماره پورت را بدان اختصاص میدهید
        /// </summary>
        /// <param name="baudRate">مقدار باند ریت</param>
        /// <param name="portName">شماره پورت</param>
        public void InitData(int baudRate, string portName)
        {
          PortName = portName;
          BaudRate = baudRate;
          MySerialPort.Open();
    
        }
    
        /// <summary>
        /// جهت ارسال مقداری به پورت مقدار خود را به صورت رشته به این تابع ارسال کرده و این تابع بر اساس یکی از دو راحل انتخابی شما مقدار را به پورت ارسال می نماید
        /// لازم به ذکر است انتخاب هر راحل بسته به نیاز شماست
        /// </summary>
        /// <param name="command">متن ارسالی به پورت</param>
        internal void SendData(string command)
        {
          //راحل اول
          foreach (char ch in command)
          {
            MySerialPort.Write(new char[] { ch }, 0, 1);
            //System.Threading.Thread.Sleep(2);
          }
          //راحل دوم
          //MySerialPort.Write(command);
        }
    
        /// <summary>
        /// زمانی که داده ای از پورت دریافت شود این تابع به صورت اتوماتیک فراخوانی شده و شما میتوانید مقدار دریافت شده را کنترل نمایید
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SerialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
          //System.Threading.Thread.Sleep(100);
    
          int byteCount = MySerialPort.BytesToRead;
    
          byte[] byteContext = new byte[byteCount];
    
          MySerialPort.Read(byteContext, 0, byteCount);
    
          //الان داده مورد نظر شما به صورت بایت در متغیر
          //byteContext
          //قرار دارد
        }
      }
    }
    امیدوارم که بتونه کمکت بکنه
    سوال داشتی بپرس
    راستی جهت ارتباط با پورت سریال به یو اس بی در Win CE شما باید درایور مربوطه رو دانلودش کنی که درایورش رو از سایت http://www.ftdichip.com دانلود کنی و پس از دانلود باید آنها را در فولدر ویندوز دستگاه خودت کپی کنی که پس از اتصال پورت سریال به یو اس بی از تو یک سوال جهت نصب درایور پرسیده خواهد شد که شما باید اسم فایلی که در پوشه ویندوز خود کپی کردی را انجا وارد نمایید همراه با تایپ مثلا FTDI_SER.DLL

    موفق و پیروز و موعید باشی

    دیدگاه


      #3
      پاسخ : ارتباط با درگاههای Tiny210

      سلام ممنون
      شما راه حلی برای ارتباط با gpio ها ندارید؟؟

      دیدگاه

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