ايران ويج

نسخه‌ی کامل: txdمیکرو(فوری،نیازمندم)
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان من دارم 1 برنامه روی mega8 مینویسم که از پایه txd برا ارسال اطلاعات به میکرو دیگه استفاده میکنم.برنامه به این شکل که اگه 1 کلیدی زده شد 1سری کارو انجام بده بعد data موردنظرو ارسال کن.اما نمیدونم چرا از اول برنامه رو که ران میکنم چرا پایهtxd بدون گرفتن دستور داره کار میکنه(یعنی 1 سره high)بعدشم که کلیدو میزنم هیچ تغییری ایجاد نمیشه.ریزه برنامه ام اینه:
کد php:
if(PINB.0==0)
      {
      
      
PORTC.0=1;
      
delay_ms(1000);
      
PORTC.0=0;
      
PORTC.1=1;
      
delay_ms(1000);
      
PORTC.1=0;
      
PORTC.2=1;
      
delay_ms(1000);
      
PORTC.2=0;
      
PORTC.3=1;
      
delay_ms(1000);
      for(
i=0;i<6;i++)
      {
      
putchar('s');
      
delay_ms(30);   }
      } 
اگه کسی میتونه کمکم کنه.ممنون میشم.
سلام

اینطور که از کد برمیاد شما باید pinb.0‌ رو پول آپ کرده باشید، انجامش دادین،؟

نقشه مدارتون رو هم لطف کنید بزارید.
اره پول آپشو اکتیو کردم تو همون کدویزارد انجامش دادم.
فک نمیکنم مشکل از کلید ورودیpinb.0 باشه چون وقتی این کلیدومیزنم اون 3تا LEDکه گفتم بعد زدن کلید روشن شن درست روشن میشن و کارشنو انجام میدن.
ولی txd از همون اول اکتیو بدون دستور.
با سیم دارید داده میفرستید؟
(۱۱-دى-۱۳۹۲, ۲۲:۴۷:۰۰)saeed.b1368 نوشته است: [ -> ]چرا پایهtxd بدون گرفتن دستور داره کار میکنه(یعنی 1 سره high)بعدشم که کلیدو میزنم هیچ تغییری ایجاد نمیشه.
1 بودن که نشان از فعالیت نیست که مربوط به پروتکل میشه وقتی UART رو فعال کنی اونم 1 میشه بر می گرده به شیوه ارسال اطلاعات
---
بعد شما داده رو میفرستید چجوری چک می کنید که ارسال شده یانه؟ که می گید تغییری ایجاد نمی شه؟
(۱۲-دى-۱۳۹۲, ۱۴:۴۷:۳۳)behzady نوشته است: [ -> ]
(۱۱-دى-۱۳۹۲, ۲۲:۴۷:۰۰)saeed.b1368 نوشته است: [ -> ]چرا پایهtxd بدون گرفتن دستور داره کار میکنه(یعنی 1 سره high)بعدشم که کلیدو میزنم هیچ تغییری ایجاد نمیشه.
1 بودن که نشان از فعالیت نیست که مربوط به پروتکل میشه وقتی UART رو فعال کنی اونم 1 میشه بر می گرده به شیوه ارسال اطلاعات
---
بعد شما داده رو میفرستید چجوری چک می کنید که ارسال شده یانه؟ که می گید تغییری ایجاد نمی شه؟
پس 1 بودن txd نشون از کار همیشگی(ارسال اطلاعات)نی؟
اینکه تغیری ایجاد نمیشه رو برا این میگم که تو قسمت گیرنده اون دستوری رو که گفتم بعد از دریافت اطلاعات انجام بده رو با دادن یا ندادنش انجام میده.
برنامه گیرندمم اینه:
کد php:
{a='m';
      
a=getchar();
      if(
a=='s')
      {
      
PORTD.6=1;
      
delay_ms(500);
      
PORTD.6=0;
      
delay_ms(500);
      
PORTD.6=1;
      } 
سلام

در مورد hmt-r به دلیل وجود نویز این دریافت ها خود به خود صورت میگیره، باید اقدامات مربوط به نویز گیری رو پیاده کنید، کریستال خارجی یا کد بندی داده ها تون.
(۱۲-دى-۱۳۹۲, ۲۰:۱۱:۲۹)Ambassador نوشته است: [ -> ]سلام

در مورد hmt-r به دلیل وجود نویز این دریافت ها خود به خود صورت میگیره، باید اقدامات مربوط به نویز گیری رو پیاده کنید، کریستال خارجی یا کد بندی داده ها تون.

سلام یعنی حتی بدون اینکه hmt فعال باشه بازم دستور گرفته میشه و کار انجام میگیره.
منم شکم به همین موضوع بود 1 بار دیگه کلا HMT رو قطع کردم اما بازم تغییری نکرد.گیرنده کارخودشو انجام میداد.
hmt مهم نیست، hmr نویز رو از محیط میگیره برا همین وقتی hmt رو هم برمی دارید بازم اون طرف فرمان انجام میشه
(۱۲-دى-۱۳۹۲, ۲۰:۲۴:۰۰)Ambassador نوشته است: [ -> ]hmt مهم نیست، hmr نویز رو از محیط میگیره برا همین وقتی hmt رو هم برمی دارید بازم اون طرف فرمان انجام میشه

برا رفع این موضوع پس چه کاری باید انجام بدم که نویزی روش تاثیر نذارو فقط مورد خودمو اجرا کنه