سلام. من با میکرو mega128 کار میکنم. usart1 رو به gps وصل کردم و با سرعت 9600 فقط ازش میخونم ( با وقفه) و روی یک حافظه ذخیره میکنم . بعد از مدت زمانی که یک مقدار اطلاعات ذخیره شد( حدود مثلا 500 ثانیه ) این اطلاعات رو از طریق usart0 به یک حافظه دیگه میریزم. (با سرعت 115200 ) .فرض کنید که این انتقال اطلاعات حدود 10 ثانیه زمان ببره . حالا من میخوام که اطلاعات اومده از gps نیز در این مدت زمان بازم ذخیره بشه و از بین نره. اما نمیدونم چرا مثلا نصف این زمان اطلاعات از بین میره!!! یعنی من نمیتونم 5 ثانیه اطلاعات رو ذخیره کنم. من فکر کنم تداخل وقفه ها مانع از دریافت اطلاعات میشه.
اول برای ارسال اطلاعات ذخیره شده از دستور putchar استفاده میکنم بدون فعال کردن وقثه ارسال . بعدش اومدم وقفه ارسال رو هم فعال کردم ولی بازم مشکلم حل نشد ولی فکر کنم یه کم بهتر شد. اولویت وقفه اینجا مطرح نیست؟ آیا برنامه میتونه وسط فرستادن اطلاعات که با usart0 کار میکنه به محض رسیدن وقفه سریال gps که با usart1 کار میکنه به روتین مربوطه بره و اطلاعات رو ذخیره کنه؟
راستی از کدویژن استفاده میکنم.
ممنون
اول برای ارسال اطلاعات ذخیره شده از دستور putchar استفاده میکنم بدون فعال کردن وقثه ارسال . بعدش اومدم وقفه ارسال رو هم فعال کردم ولی بازم مشکلم حل نشد ولی فکر کنم یه کم بهتر شد. اولویت وقفه اینجا مطرح نیست؟ آیا برنامه میتونه وسط فرستادن اطلاعات که با usart0 کار میکنه به محض رسیدن وقفه سریال gps که با usart1 کار میکنه به روتین مربوطه بره و اطلاعات رو ذخیره کنه؟
راستی از کدویژن استفاده میکنم.
ممنون
دیدگاه