PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : USART interrupt



alone.poker
23-01-2013, 18:07
روی 1 پروژه کار میکنم که نیاز دارم از وقفه دریافت سریال استفاده کنم
تا وقفه فعال میشه کل میکرو هنگ میکنه
کد 3000 خطه و با mega32 کار میکنم. کسی چیزی به ذهنش میرسه؟؟

scienceaddict
23-01-2013, 18:35
روی 1 پروژه کار میکنم که نیاز دارم از وقفه دریافت سریال استفاده کنم
تا وقفه فعال میشه کل میکرو هنگ میکنه
کد 3000 خطه و با mega32 کار میکنم. کسی چیزی به ذهنش میرسه؟؟

سلام دوست عزیز ،
با چه کامپایلر و چه زبانی برنامه مینویسید؟ و اینکه وقتی وقفه فعال میشه دقیقا چه اتفاقی میافته ؟

alone.poker
23-01-2013, 18:40
سلام دوست عزیز ،
با چه کامپایلر و چه زبانی برنامه مینویسید؟ و اینکه وقتی وقفه فعال میشه دقیقا چه اتفاقی میافته ؟
ممنون از پاسخ سریعتون
codevision
c
با RTCروی LCD یک ثانیه شمار دارم
رجیستر های Usart بعد از 10 ثانیه فعال میشن و دقیقا توی ثانیه 10ام همه چیز متوقف میشه(مثلا ADC , RTC)

scienceaddict
23-01-2013, 18:48
ممنون از پاسخ سریعتون
codevision
c
با RTCروی LCD یک ثانیه شمار دارم
رجیستر های Usart بعد از 10 ثانیه فعال میشن و دقیقا توی ثانیه 10ام همه چیز متوقف میشه(مثلا ADC , RTC)

خب برنامه رو با AVRStudio دیباگ کنید ببینید که پروگرم کانتر شما کجا میره و کجا گیر میکنه یا اینکه برنامه رو بذارید تا دوستان بیان نظر بدهند ما هم اگه سوادمون بکشه میگیم

alone.poker
23-01-2013, 22:12
خب برنامه رو با AVRStudio دیباگ کنید ببینید که پروگرم کانتر شما کجا میره و کجا گیر میکنه یا اینکه برنامه رو بذارید تا دوستان بیان نظر بدهند ما هم اگه سوادمون بکشه میگیم
توی simulation هایی که انجام میدم هیچ مشکلی نیست ولی تو واقعیت ....
اینم کد
اگه کسی بتونه کمک کنه ممنون میشم

scienceaddict
24-01-2013, 15:04
توی simulation هایی که انجام میدم هیچ مشکلی نیست ولی تو واقعیت ....
اینم کد
اگه کسی بتونه کمک کنه ممنون میشم

سلام دوست عزیز
میکروی شما هنگ نمیکنه ، برنامه ی شما گیر میکنه
من برنامه تونو دیدم و دیباگ کردم ، چیز زیادی نفهمیدم جزاینکه در پروتیوس هم که یک حرف رو در ترمینال تایپ کردم و اینتر نزدم ، کانتر متوقف میشد و این بخاطر اینه که شما در روتین وقفه ی دریافت سریال ، یک کار طولانی رو داری و اینکه چند بار getchar میکنی ، وقتی میکرو تو روتین وقفه ی سریاله اگه تایمر اورفلو کنه نمیتونه بره تو روتین وقفه ی تایمر و کانتر رو یکی اضافه کنه و روی ال سی دی بفرسته ، اما وقتی حرف رینگ رو تو ترمینال تایپ میکنیم روی السیدی تست میاد و مشکلی نیست ، شما بجای رینگ (که چهار حرفه) و وایل و سویچ کیس هایی که تو روتین وقفه سریال نوشتی ، یک کد اسکی بفرست و بگیرش نه چهارتا ، ببین مشکل درست میشه ، من یه چیزی رو دیدم که اگه کسی میدونه به ما هم بگه ، وقتی دیباگ میکردم تو روتین سریال ، بار اول که پرچم کامل شدن دریافت سریال یک بود دستور getchar به درستی عمل میکرد و مقدار صفر رو میخوند و بخاطر حلقه ی while دوباره برمیگشت و getchar میکرد اما بار اول که از getchar برمیگشت ، پرچم کامل شدن پاک شده بود و بار دوم تو getchar کردن برنامه ی من گیر میکرد شما هم امتحان کن ببین AVRStudio شما هم بار دوم گیر میکنه یا نه من اومدم انتهای حلقه وایل پرچم رو یک کردم و هر بار درست getchar میکرد و برنامه ی من گیر نمیکرد هرکی فهمید ما رو هم آگاه کنه
موفق باشی

alone.poker
24-01-2013, 16:12
سلام دوست عزیز
میکروی شما هنگ نمیکنه ، برنامه ی شما گیر میکنه
من برنامه تونو دیدم و دیباگ کردم ، چیز زیادی نفهمیدم جزاینکه در پروتیوس هم که یک حرف رو در ترمینال تایپ کردم و اینتر نزدم ، کانتر متوقف میشد و این بخاطر اینه که شما در روتین وقفه ی دریافت سریال ، یک کار طولانی رو داری و اینکه چند بار getchar میکنی ، وقتی میکرو تو روتین وقفه ی سریاله اگه تایمر اورفلو کنه نمیتونه بره تو روتین وقفه ی تایمر و کانتر رو یکی اضافه کنه و روی ال سی دی بفرسته ، اما وقتی حرف رینگ رو تو ترمینال تایپ میکنیم روی السیدی تست میاد و مشکلی نیست ، شما بجای رینگ (که چهار حرفه) و وایل و سویچ کیس هایی که تو روتین وقفه سریال نوشتی ، یک کد اسکی بفرست و بگیرش نه چهارتا ، ببین مشکل درست میشه ، من یه چیزی رو دیدم که اگه کسی میدونه به ما هم بگه ، وقتی دیباگ میکردم تو روتین سریال ، بار اول که پرچم کامل شدن دریافت سریال یک بود دستور getchar به درستی عمل میکرد و مقدار صفر رو میخوند و بخاطر حلقه ی while دوباره برمیگشت و getchar میکرد اما بار اول که از getchar برمیگشت ، پرچم کامل شدن پاک شده بود و بار دوم تو getchar کردن برنامه ی من گیر میکرد شما هم امتحان کن ببین AVRStudio شما هم بار دوم گیر میکنه یا نه من اومدم انتهای حلقه وایل پرچم رو یک کردم و هر بار درست getchar میکرد و برنامه ی من گیر نمیکرد هرکی فهمید ما رو هم آگاه کنه
موفق باشی
scienceaddict عزیز،اول از همه ازتون ممنونم.
روتین برنامه همینه. میخام وقتی RING از پورت سریال گرفته شد روی LCD بنویسه TEST و با گیر کردن برنامه تو مواقع دیگه مشکلی ندارم
چون با SIM900 کار میکنم حتما توی دستوراش line feed یا enter داره و برای همین این گیر کردن خیلی زود رفع میشه
مشکل اینجاست که این کد روی خود AVR درست کار نمیکنه
منظورم از هنگ تو واقعیت بود. هیچ چیزی روی LCD نمیاد!!
نمیدونم دیگه چکار کنم

scienceaddict
24-01-2013, 22:04
معذرت میخوام من منظور شما رو درست متوجه نشده بودم
چون شما تو پست سه گفته بودید که همه چیز متوقف میشه ، من فکر کردم که شمارنده تون گیر میکنه ، سوادم قد نمیده بازم چیزی به ذهنم رسید میگم ،
آقایون مهندس ها لطفا مددی بدید

alone.poker
25-01-2013, 02:12
معذرت میخوام من منظور شما رو درست متوجه نشده بودم
چون شما تو پست سه گفته بودید که همه چیز متوقف میشه ، من فکر کردم که شمارنده تون گیر میکنه ، سوادم قد نمیده بازم چیزی به ذهنم رسید میگم ،
آقایون مهندس ها لطفا مددی بدید
scienceaddict عزیز، با تشکر از لطف جنابعالی اعلام میکنم مشکل حل شد!! :018:
اگر برای کسی جالبه بگید که کد درست شده رو upload کنم

scienceaddict
25-01-2013, 09:00
scienceaddict عزیز، با تشکر از لطف جنابعالی اعلام میکنم مشکل حل شد!! :018:
اگر برای کسی جالبه بگید که کد درست شده رو upload کنم

خوشحالم مشکلتون حل شد
العاقل الاشاره ، یه اشاره کنید که کجاش مشکل داشت ممنون میشیم