با سلام
امروز یه برنامه نوشته بودم که توش دو تا آرایه داشت . برنامه به این صورت بود که یک ماژول به پورت سریال اول usart0 میکرو وصل بود و اطلاعات ارسال شده از ماژول توی آرایه اول ذخیره می شد سپس از طریق usart1 برای کامیوتر ارسال میشد .از طرف دیگه هرچی از طرف کامپیوتر روی پورت سریال دوم usart1 میامد داخل آرایه دیگر ذخیره میشد و وقتی 10 کاراکتر میشدند دوباره به کامپیوتر باز فرستاده میشدند.
قسمت دوم برنامه درست کار میکرد اما یک مشکل عجیب اینجا بود: وقتی ماژول دیتاش رو به میکرو میفرستاد ، میکرو هم اطلاعات ماژول رو برای کامپیوتر ارسال می کرد و هم 1اون 10 تا کاراکتری که دفعه فبل از کامپیوتر گرفته بود
مثلا اگر کامپیوتر برای میکرو میفرستاد ali . دوباره میکرو به کامپیوتر میفرستاد ali ...
اما وقتی ماژول به میکرو میفرستاد 12345 اونوقت میکرو به کامپیوتر میفرستاد12345ali
کلی تو برنامه گشتم تو مدارم بررسی کردم که شاید جایی بین پایه ها اتصالی رخ داده و داده ها داره اکو میشه روی پورت دیگر میکرو .... اما نشد
بالاخره مشکل رو پیدا کردم
توی اول برنامه ، من دو تا آرایه رو توی دو تا خط پشت سر هم تعریف کرده بودم (که احتمالا توی خانه های حافظه هم کنار هم قرار می گرفتند!) اما بعدش بین اون دو تا آرایه یک خط اضافه کردم و یک متغیر دیگه تعریف کردم ... برنامه درست شد!!!
گفتم اینو بگم شاید کسی بعدا به همچین مشکلی برخورد کنه
امروز یه برنامه نوشته بودم که توش دو تا آرایه داشت . برنامه به این صورت بود که یک ماژول به پورت سریال اول usart0 میکرو وصل بود و اطلاعات ارسال شده از ماژول توی آرایه اول ذخیره می شد سپس از طریق usart1 برای کامیوتر ارسال میشد .از طرف دیگه هرچی از طرف کامپیوتر روی پورت سریال دوم usart1 میامد داخل آرایه دیگر ذخیره میشد و وقتی 10 کاراکتر میشدند دوباره به کامپیوتر باز فرستاده میشدند.
قسمت دوم برنامه درست کار میکرد اما یک مشکل عجیب اینجا بود: وقتی ماژول دیتاش رو به میکرو میفرستاد ، میکرو هم اطلاعات ماژول رو برای کامپیوتر ارسال می کرد و هم 1اون 10 تا کاراکتری که دفعه فبل از کامپیوتر گرفته بود
مثلا اگر کامپیوتر برای میکرو میفرستاد ali . دوباره میکرو به کامپیوتر میفرستاد ali ...
اما وقتی ماژول به میکرو میفرستاد 12345 اونوقت میکرو به کامپیوتر میفرستاد12345ali
کلی تو برنامه گشتم تو مدارم بررسی کردم که شاید جایی بین پایه ها اتصالی رخ داده و داده ها داره اکو میشه روی پورت دیگر میکرو .... اما نشد
بالاخره مشکل رو پیدا کردم
توی اول برنامه ، من دو تا آرایه رو توی دو تا خط پشت سر هم تعریف کرده بودم (که احتمالا توی خانه های حافظه هم کنار هم قرار می گرفتند!) اما بعدش بین اون دو تا آرایه یک خط اضافه کردم و یک متغیر دیگه تعریف کردم ... برنامه درست شد!!!
گفتم اینو بگم شاید کسی بعدا به همچین مشکلی برخورد کنه
دیدگاه