اطلاعیه

Collapse
No announcement yet.

پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

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

  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    اووووف حل شد. ممنونم و تشکر . تازه پروژم به نیمه رسید. مبحث سنگینی بود ارسال 16 بیت با 8 بیت رجیستر از طریق پروتکل.
    ممنونم از شما و متشکرم ایشالا هیچ وقت به مشکل نخورین.

    سون سگمنت سایز یه lcd کارکتری ارزونه یا lcd کارکتری؟؟
    خوب خدا رو شکر بالاخره تموم شد [emoji28]
    به گمونم سون سگمنت ارزون تر باشه. البته باید توجه داشت که سون سگمنت یک سری قطعاتم برای راه اندازیش میخواد که هزینه اونم باید لحاظ بشه. بهتره تو این مورد ببینید کدوم کاربردی تره و دید بهتری داره

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    اووووف حل شد. ممنونم و تشکر . تازه پروژم به نیمه رسید. مبحث سنگینی بود ارسال 16 بیت با 8 بیت رجیستر از طریق پروتکل.
    ممنونم از شما و متشکرم ایشالا هیچ وقت به مشکل نخورین.

    سون سگمنت سایز یه lcd کارکتری ارزونه یا lcd کارکتری؟؟

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    خوب یه متغیر حالت بسازید که با اون تشخیص بده بایت اوله یا دوم. مثلا اگر صفر بود یعنی باید اوله، اگر یک بود یعنی بایت دوم. آخر زیر روال میگید متغیر یکی زیاد بشه و اگر شد 2 (یعنی این مرحله بایت دوم بوده) تبدیلش کنه به صفر که توی وقفه بعدی بازم به عنوان بایت اول بخونه.
    ضمنا بهتره وقتی میخواد بایت اول بخونه، متغیر data رو اول صفر کنه بعد بایت اول رو بریزه روش

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    سلام خوبین. من کار با وقفه رو تو spi و با اتمل تقریبا راه انداختم و مطالعه که کردم بهتر مفهوم روزفهمیدم و انجام دام. مفاهیم کدویرن و اتمل تقریبا یکین و نوع نوشتن یکم فرقق داره. مشکل فهم استفاده از وقفه در spi حل شد. فقط چون الان از وقفه استفاده مکنم و با اومدن دیتا میره تو زیروال وقفه و من هد عددم دوتا بایته این مشکل ساخته. باید دوتا بایت رو بهم بچسبونم یا یه همچین حیزی. چون یه بایت که میاذ بایت دوم رو وقفه دوم فرض مکنه
    خوب یه متغیر حالت بسازید که با اون تشخیص بده بایت اوله یا دوم. مثلا اگر صفر بود یعنی باید اوله، اگر یک بود یعنی بایت دوم. آخر زیر روال میگید متغیر یکی زیاد بشه و اگر شد 2 (یعنی این مرحله بایت دوم بوده) تبدیلش کنه به صفر که توی وقفه بعدی بازم به عنوان بایت اول بخونه.
    ضمنا بهتره وقتی میخواد بایت اول بخونه، متغیر data رو اول صفر کنه بعد بایت اول رو بریزه روش

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    شما بیا هر باری که اطلاعات جدید وارد میشه، حالا چه با سرویس وقفه چه با چک کردن پرچم، داده روی SPDR رو بریز روی یه متغیر و به سون سگمنت دستور بده با این متغیر کار کنه. پیشنهادم بازم همون وقفه اس. یعنی توی سرویس وقفه داده SPDR منتقل بشه به متغیر

    Sent from my LG-H870S using Tapatalk
    سلام خوبین. من کار با وقفه رو تو spi و با اتمل تقریبا راه انداختم و مطالعه که کردم بهتر مفهوم روزفهمیدم و انجام دام. مفاهیم کدویرن و اتمل تقریبا یکین و نوع نوشتن یکم فرقق داره. مشکل فهم استفاده از وقفه در spi حل شد. فقط چون الان از وقفه استفاده مکنم و با اومدن دیتا میره تو زیروال وقفه و من هد عددم دوتا بایته این مشکل ساخته. باید دوتا بایت رو بهم بچسبونم یا یه همچین حیزی. چون یه بایت که میاذ بایت دوم رو وقفه دوم فرض مکنه

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    بله. من باید قبل تابع int main یه تابع وقفه بسازم. بعد توی int main و قبل while باید وقفه رو فعاب کنم . و توی while هم کار دایم خودمو انجام بدم. با اینکار segment(number) همیشه اجرا میشه و اگر دیتا اومد وقفه ایجاد میشه و میره اون تابع اجرا میشه. درسته؟
    فارسیش اینه.
    توی سلیو:


    interrupt [SPI_STC] void spi_isr(void)
    {
    unsigned char data;
    data=SPDR;
    // Place your code here


    }

    این تعریف تابع وقفس.

    اینم فعال کردن وقفس قبل whil

    // Clear the SPI interrupt flag
    #asm
    in r30,spsr
    in r30,spdr
    #endasm


    // Global enable interrupts
    #asm("sei")


    تو while هم فقط egment(data) میکنم.


    قبل اون هم توی مستر هم تو سلیو تو کانفیگ رجیسترها بیت وقفه رو ١ مکنم. درسته؟

    توی مستر دیگه کاری نمکنم. همین.
    درسته؟

    اگه دزسته اتمل معادل اینکارا رو باید کدشو بیابم
    این قطعه کد برای کدویژنه. توی اتمل استودیو کمی تعریف سرویس وقفه فرق میکنه. برای فعال کردن وقفه واحد spi کافیه بیت SPE (یا SPIE، دقیق یادم نیست) از رجیستر SPCR رو یک کنید و نیازی به اون قطعه کد اسمبلی نیست. ضمنا فعال کردن پاسخ گویی به وقفه هم فراموش نشه؛ برای این کار توی اتمل استودیو باید بنویسید ()sei.
    در مورد باقی کد هم خوب باید ببینید برنامتون به چه شکله و به همون صورت عمل کنید.

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    اصلا میدونید وقفه چیه ماهیتا؟؟؟ توی تابع وقفه ایجاد کردن معنی نداره!
    عرض کردم یک متغیر عمومی میسازید مثلا به اسم data (محل تعریفش باید بالاتر از سرویس وقفه باشه که توی سرویس وقفه هم در دسترس باشه). وقفه spi رو هم فعال میکنید. توی وقفه خیلی ساده مینویسید ;data = SPDR. حالا شمایید و DATA و کاری که میخوایید باهاش بکنید. تا زمانی هم که خودتون تغییرش ندید یا داده جدیدی نرسه و وقفه تحریک نشه، مقدارش تغییر نمیکنه. به گمونم گفتید مشکلتون فقط پاک شدن SPDR بود.
    البته از اونجایی که داده هاتون 16 بیتیه، بهتره توی همون زیر روال وقفه ترفندی بزنید و دوتا داده رو بهم بچسبونید.
    بله. من باید قبل تابع int main یه تابع وقفه بسازم. بعد توی int main و قبل while باید وقفه رو فعاب کنم . و توی while هم کار دایم خودمو انجام بدم. با اینکار segment(number) همیشه اجرا میشه و اگر دیتا اومد وقفه ایجاد میشه و میره اون تابع اجرا میشه. درسته؟
    فارسیش اینه.
    توی سلیو:


    interrupt [SPI_STC] void spi_isr(void)
    {
    unsigned char data;
    data=SPDR;
    // Place your code here


    }

    این تعریف تابع وقفس.

    اینم فعال کردن وقفس قبل whil

    // Clear the SPI interrupt flag
    #asm
    in r30,spsr
    in r30,spdr
    #endasm


    // Global enable interrupts
    #asm("sei")


    تو while هم فقط egment(data) میکنم.


    قبل اون هم توی مستر هم تو سلیو تو کانفیگ رجیسترها بیت وقفه رو ١ مکنم. درسته؟

    توی مستر دیگه کاری نمکنم. همین.
    درسته؟

    اگه دزسته اتمل معادل اینکارا رو باید کدشو بیابم

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    یعنی :

    while (1)
    {
    segment(number);
    سرویس وقفه رو ایجاد کنم اینجا {
    num_h=spi(0x00);
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00);
    number=(number|num_l);
    }


    یعنی تو حلقه بی نهایتم تابع سگمنت باشه ، و توش یه وقفه ایجاد کنم وقفه spi و تو آن دستوراتو بنویسم؟
    اصلا میدونید وقفه چیه ماهیتا؟؟؟ توی تابع وقفه ایجاد کردن معنی نداره!
    عرض کردم یک متغیر عمومی میسازید مثلا به اسم data (محل تعریفش باید بالاتر از سرویس وقفه باشه که توی سرویس وقفه هم در دسترس باشه). وقفه spi رو هم فعال میکنید. توی وقفه خیلی ساده مینویسید ;data = SPDR. حالا شمایید و DATA و کاری که میخوایید باهاش بکنید. تا زمانی هم که خودتون تغییرش ندید یا داده جدیدی نرسه و وقفه تحریک نشه، مقدارش تغییر نمیکنه. به گمونم گفتید مشکلتون فقط پاک شدن SPDR بود.
    البته از اونجایی که داده هاتون 16 بیتیه، بهتره توی همون زیر روال وقفه ترفندی بزنید و دوتا داده رو بهم بچسبونید.

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    یعنی :

    while (1)
    {
    segment(number);
    سرویس وقفه رو ایجاد کنم اینجا {
    num_h=spi(0x00);
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00);
    number=(number|num_l);
    }


    یعنی تو حلقه بی نهایتم تابع سگمنت باشه ، و توش یه وقفه ایجاد کنم وقفه spi و تو آن دستوراتو بنویسم؟
    نوشته اصلی توسط hossein.m98 نمایش پست ها
    شما بیا هر باری که اطلاعات جدید وارد میشه، حالا چه با سرویس وقفه چه با چک کردن پرچم، داده روی SPDR رو بریز روی یه متغیر و به سون سگمنت دستور بده با این متغیر کار کنه. پیشنهادم بازم همون وقفه اس. یعنی توی سرویس وقفه داده SPDR منتقل بشه به متغیر

    Sent from my LG-H870S using Tapatalk
    جدیدترین ویرایش توسط aashkanpasha; 2019/08/13, 22:07.

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    اناتناتنلاتانمنم


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

    سلام روزتون بخیر
    با زحمتهای ما
    والا من رفتم وقفه مطالعه کردم و تو برنامم هم اعمال کردم و تازه فهمیدم مشکل کجاست.
    من یه حلقه بی تهایت while(1) دارم- که توش میام و میگم تا بی نهایت segment(number) رو انجام بده یعنی عدد نامبر رو رو سون سگمنت نشون بده. اونم اینکارو مکنه.
    فقط تو این حلقه که میام مدام spdr رو میخونم یه اتفاقی میفته. عدد که وارد میشه میره میوفته تو spdr و نمایش میده و چون حلقه بی نهایته میاد دوباره spdr رو میخونه که چون عدد وارد نشده خالیه توش و خالی رو seg,ent میکنه- مشکلم اینه. عدد هر بار که میزنم درست نشون میده- ولی یه بار- و چون حلقه بی نهایته میاد دوباره بالا چون spdr خالی خالی رو نشون میده- segment هم باید بی نهایت باشه. مشکلم اینجای کاره. تونستم برسونم؟

    while (1)
    {
    segment(number);

    num_h=spi(0x00); //take upper bits
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00); //take lower bits
    number=(number|num_l); //create number by bits
    }

    }



    حتی اومدم گفتم که وقتی spdr خالی نیست عدد رو بگیره که بازم ج نداد. بفرم زیر:


    if(SPDR!=NULL){
    num_h=spi(0x00); //take upper bits
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00); //take lower bits
    number=(number|num_l); //create number by bits
    }

    یعنی مثلا 32 رو میزنم میره تو spdr منتقل میشه و تو سلیو تو حلقه بی نهایت تابع عدد رو نشون میده میره پایین حلقه میاد دوباره تکرار شه چون عدد وارد نشده و spdr خالی شده لذا خالی رو نشون میده- بعد دوباره مثلا 89 رو میزنم اونو میریزه تو spdr نشون میده ولی حلقه ک تکرار میشه دیگه داخل spdr خالیه و خالی رو نشون میده. باید دستوری بدم که وقتی spdr پره اینکارو بکنه که از null! استفاده کردم اونم نشد. یا کاری کنم spdr رو خوند خالی نکنه یا همچین چیزی.
    شما بیا هر باری که اطلاعات جدید وارد میشه، حالا چه با سرویس وقفه چه با چک کردن پرچم، داده روی SPDR رو بریز روی یه متغیر و به سون سگمنت دستور بده با این متغیر کار کنه. پیشنهادم بازم همون وقفه اس. یعنی توی سرویس وقفه داده SPDR منتقل بشه به متغیر

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    اناتناتنلاتانمنم
    نوشته اصلی توسط aashkanpasha نمایش پست ها
    ممنونم مرسی. که توجه فرموندین
    دلیل: ادغام دو پست برای جلوگیری از اسپم

    سلام روزتون بخیر
    با زحمتهای ما
    والا من رفتم وقفه مطالعه کردم و تو برنامم هم اعمال کردم و تازه فهمیدم مشکل کجاست.
    من یه حلقه بی تهایت while(1) دارم- که توش میام و میگم تا بی نهایت segment(number) رو انجام بده یعنی عدد نامبر رو رو سون سگمنت نشون بده. اونم اینکارو مکنه.
    فقط تو این حلقه که میام مدام spdr رو میخونم یه اتفاقی میفته. عدد که وارد میشه میره میوفته تو spdr و نمایش میده و چون حلقه بی نهایته میاد دوباره spdr رو میخونه که چون عدد وارد نشده خالیه توش و خالی رو seg,ent میکنه- مشکلم اینه. عدد هر بار که میزنم درست نشون میده- ولی یه بار- و چون حلقه بی نهایته میاد دوباره بالا چون spdr خالی خالی رو نشون میده- segment هم باید بی نهایت باشه. مشکلم اینجای کاره. تونستم برسونم؟

    while (1)
    {
    segment(number);

    num_h=spi(0x00); //take upper bits
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00); //take lower bits
    number=(number|num_l); //create number by bits
    }

    }



    حتی اومدم گفتم که وقتی spdr خالی نیست عدد رو بگیره که بازم ج نداد. بفرم زیر:


    if(SPDR!=NULL){
    num_h=spi(0x00); //take upper bits
    number=num_h;
    number=(number<<8);
    num_l=spi(0x00); //take lower bits
    number=(number|num_l); //create number by bits
    }

    یعنی مثلا 32 رو میزنم میره تو spdr منتقل میشه و تو سلیو تو حلقه بی نهایت تابع عدد رو نشون میده میره پایین حلقه میاد دوباره تکرار شه چون عدد وارد نشده و spdr خالی شده لذا خالی رو نشون میده- بعد دوباره مثلا 89 رو میزنم اونو میریزه تو spdr نشون میده ولی حلقه ک تکرار میشه دیگه داخل spdr خالیه و خالی رو نشون میده. باید دستوری بدم که وقتی spdr پره اینکارو بکنه که از null! استفاده کردم اونم نشد. یا کاری کنم spdr رو خوند خالی نکنه یا همچین چیزی.

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    همونجوری که قبلا گفتم اگر از وقفه تایمر و حتی وقفه spi درست استفاده کنید، مشکلی بابت چشمک زدن و روشن نشدن سون سگمنت و معطل بودن برنامه نخواهید داشت. این دو مورد رو حتما در موردش مطالعه کنید.

    Sent from my LG-H870S using Tapatalk
    جدیدترین ویرایش توسط aashkanpasha; 2019/08/13, 19:50.

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    همونجوری که قبلا گفتم اگر از وقفه تایمر و حتی وقفه spi درست استفاده کنید، مشکلی بابت چشمک زدن و روشن نشدن سون سگمنت و معطل بودن برنامه نخواهید داشت. این دو مورد رو حتما در موردش مطالعه کنید.

    Sent from my LG-H870S using Tapatalk
    ممنونم مرسی. که توجه فرموندین

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    متاسفانه من نمیتونم منظورمو برسونم. حتی خودمم بعدا مخونم جوابمو بهتون میبینم نتونستم منتقل کنم مشکلو. اینایی که میگینو میدونم. مشکل چیز ذیگس کلا
    همونجوری که قبلا گفتم اگر از وقفه تایمر و حتی وقفه spi درست استفاده کنید، مشکلی بابت چشمک زدن و روشن نشدن سون سگمنت و معطل بودن برنامه نخواهید داشت. این دو مورد رو حتما در موردش مطالعه کنید.

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط hossein.m98 نمایش پست ها
    خوب برادر من سمت اسلیو بیا یکاری کن حتما دوتا بایت بگیره! کافیه بایت اول رو که گرفت، حتما منتظر بمونه که بایت بعدی رو هم بگیره؛ خارج از این حالت هم داده ای قرار نیست ارسال بشه؛ این مسئله انقدر سادس که توضیحش سخته! شما برو کامل در مورد spi و تایمر و پرچم و هرچی که هست اطلاعات کسب کن، بعد بیا رو پروژه کار کن! ره صد ساله رو که یک شبه نمیشه رفت

    Sent from my LG-H870S using Tapatalk
    متاسفانه من نمیتونم منظورمو برسونم. حتی خودمم بعدا مخونم جوابمو بهتون میبینم نتونستم منتقل کنم مشکلو. اینایی که میگینو میدونم. مشکل چیز ذیگس کلا

    یک دیدگاه بنویسید:


  • hossein.m98
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط aashkanpasha نمایش پست ها
    دوست عزیز مهندس این مشکل رو قبلا زحمت کشیدید گفتید حل کردم. من جای دیگه موندم. من الان تو سمت مستر عدد رو از کیپد میگیرم و پس از زدن کلید مربع اون عدد رو میشکونم با دوتا بایت هشت تایی میفرستم. تا اینجا اوکیه.
    اونور طرف سلیو هم دوتا بایت رو میگیرم و تبدیل به یه عددش مکنم و میفرستم تابع سگمنت و رو سگمنت نمایش میدم. اینا هم اوکیه. هرعدد نیفزنم تو کیپد اینور میبینم.
    تو حلقه هم میندازم قشنگ ثابت میبینم چشمک نمیزنه. فقط نمتونم بگم بهش دوتا بایت رو فرستاد و عددش کرد اونو تو سنمنت هی تو خلقه نشون بده تا تا تا تا اون یکی دوتا باید بیاد. همینش مونده
    خوب برادر من سمت اسلیو بیا یکاری کن حتما دوتا بایت بگیره! کافیه بایت اول رو که گرفت، حتما منتظر بمونه که بایت بعدی رو هم بگیره؛ خارج از این حالت هم داده ای قرار نیست ارسال بشه؛ این مسئله انقدر سادس که توضیحش سخته! شما برو کامل در مورد spi و تایمر و پرچم و هرچی که هست اطلاعات کسب کن، بعد بیا رو پروژه کار کن! ره صد ساله رو که یک شبه نمیشه رفت

    Sent from my LG-H870S using Tapatalk

    یک دیدگاه بنویسید:


  • aashkanpasha
    replied
    پاسخ : پروتکل ارتباطی spi بین دو میکرو برای انتقال محتوایی یک متغیر

    نوشته اصلی توسط MM320 نمایش پست ها
    شما وقتی از spi در مد اسلیو استفاده می کنید میکرو منتظر دریافت بایت از مستر میشه بعد دریافت اولین کلاک از مستر دیتا ها بیت به بیت در رجستر spi اسیلو (در هر کلاک مستر) قرار می گیره برنامه شما تازه شروع به اسکن سون سگنمت می کنه و دوباره منتظر دریافت spi میشههمین طور که در تاپیک سون سگمنت و کیپد گفتم برنامه نباید وقفه یا ایستی نداشته باشه در صورت اعداد روی نمایشکر بصورت تاخیری که چشم انسان اونو ببنه میشه یا روی یک رقم می ایسته .راه حل:یا از آیسی MAX7219 استفاده کنن که خودش سون سگمنت راه اندازی می کنه یا اینه از تایمر ها استفاده کن به این صورت که هر 1ms یک رقم نشان بده و وقتی منتظر دریافت spi هست نمایشگر متوقف نمیشه.
    دوست عزیز مهندس این مشکل رو قبلا زحمت کشیدید گفتید حل کردم. من جای دیگه موندم. من الان تو سمت مستر عدد رو از کیپد میگیرم و پس از زدن کلید مربع اون عدد رو میشکونم با دوتا بایت هشت تایی میفرستم. تا اینجا اوکیه.
    اونور طرف سلیو هم دوتا بایت رو میگیرم و تبدیل به یه عددش مکنم و میفرستم تابع سگمنت و رو سگمنت نمایش میدم. اینا هم اوکیه. هرعدد نیفزنم تو کیپد اینور میبینم.
    تو حلقه هم میندازم قشنگ ثابت میبینم چشمک نمیزنه. فقط نمتونم بگم بهش دوتا بایت رو فرستاد و عددش کرد اونو تو سنمنت هی تو خلقه نشون بده تا تا تا تا اون یکی دوتا باید بیاد. همینش مونده

    یک دیدگاه بنویسید:

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