ايران ويج

نسخه‌ی کامل: مشکل در ارسال داده از atmega16 به pc
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
سلام
اقا بالاخره بعد از کلی تست و آزمایش با سرعت 1200 جواب گرفتم و دقیقا همون چیزیو که میفرستم میتونم تو کامپیوتر ببینم

$crystal = 1000000
$baud = 1200

فقط چند تا مشکل هست
سرعت 1200 خیلی کمه و سون سگمنت خیلی چشمک میزنه وقتی 1200 میزارم اما با 9600 سون سگمنت مشکلی نداره
چیکار کنم که بتونم با سرعت بالاتر تبادل اطلاعات داشته باشم ؟
بعد مشکل دوم اینه که من وقتی این دستور رو مینویسم
کد:
Print "dama = " ; Getadc(0)
تو ترمینال بسکام به صورت کامل دریافت میکنم
مثلا به این شکل
dama = 30
اما تو سی شارپ دو تیکه میشه و به صورت زیر دریافت میکنه
مثلا اینطوری
قسمت اول dam
قسمت دوم a = 30
یعنی تو دو مرحله و به صورت جدا میگیره داده ها رو
میخواستم ببینم این دو تا مشکل رو چطوری میشه حل کرد
با تشکر فراوان
از سيم كوتاه تر استفاده كن تا بتوني با baud rate بيشتر جواب بگيري ...
توي بسكام يه بخشي هست ، كه نسبت به baud rate انتخابي و كريستال مورد استفاده ، مي زان خطا نشون مي ده كه بايد حداقل باشه ...
با كريستال 110592 خطا 0% مي شه ...
اما من با كريستال 8000000 و baud rate 19200 جواب گرفتم ...

كدهاي اين تيكه ي C# رو بذار ، ببينم چطوري كد زدي ...
سلام
دوست گرامی اول کدی که نوشتی رو بذار و دوم اینکه یه تاخیر زمانی بعد از دستور پرینت بذار
مثلا یه تاخیر 1 تا 2 میلی ثانیه
سلام مجدد
ببخشید یکی دو روز نبودم به خاطر همین یخورده دیر شد
مشکل تو سی شارپ هم حل شد
مشکل از کد نویسی بود
که با درست کردن کد مشکل حل شد
این هم کد که اگر کسی نیاز داشت استفاده کنه
کد:
private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public void SetControlText(Control control, string text)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action<Control, string>(SetControlText), new object[] { control, text });
            }
            else
            {
                control.Text += text + "\n";
            }
        }

        private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            try
            {
                SetControlText(richTextBox1, serialPort1.ReadLine());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

تشکر میکنم از همه دوستان که راهنمایی کردن و بالاخره تونستم این مشکل رو حل کنم
با تشکر فراوان
یه توضیح در مورد برنامه تون بزارید ممنون میشم
صفحه‌ها: 1 2