سلام متوجه شدم کجا باید زیر روال برای وقفه نوشت ولی وقتی توی پروتوس طراحی کردم و از یک کارتر توی ترمینالش نوشتم همش برنامه زیر روال اجرا میشه
مشکل از کجاست ممنون
interrupt [USART_RXC] void usart_rx_isr(void)
{
PORTC.1=!PORTC.1;
}
نمایش نسخه قابل چاپ
سلام متوجه شدم کجا باید زیر روال برای وقفه نوشت ولی وقتی توی پروتوس طراحی کردم و از یک کارتر توی ترمینالش نوشتم همش برنامه زیر روال اجرا میشه
مشکل از کجاست ممنون
interrupt [USART_RXC] void usart_rx_isr(void)
{
PORTC.1=!PORTC.1;
}
من سورس برنامه رو ارسال میکنم اگه چک کنید ببینید مشکل از کجاست چرا کارکتر رو درست روی ترمینال چاپ نمیشه کارکترهای عجیب میاد و چطوری میشه یک کارتر رو از ترمینال بخونیم و دوباره روی ترمینال چاپ کنیم
سلامنقل قول:
مطمئنا همیشه سر دو روز قاطی نمیکنه. ممکنه یک زمانی یک هفته یا بیشتر هم درست کار کنه پس یا مشکل از حالت های ناخواسته ای هست که تو برنامه در نظر نگرفتی ، یا یک نویزی چیزی یک حالتی ایجاد میکنه که باز مربوط میشه به رد کردن حالت های ناخواسته تو منطق برنامه نویسی.
احتمالا شما فرض کردی که همیشه اطلاعات درست به میکرو میرسه و برنامه رو بر مبنای همیشه درست نوشتی که این یک کار صنعتی نمیشه و فقط در حد یک پروژه میشه. مثل برنامه ای که خودم نوشتم
برای کار با کدویژن حتما از کدویزارد حتی برای تولید وقفه استفاده کنین و خودتون به صورت دستی یا کپی ننویسین.(برای هر آماده سازی)نقل قول:
نوشته اصلی توسط habel_star [Dear Guest/Member you can't see link before replyclick here to register]
داخل روتین وقفه هم بهتره از توابع ، مانند lcd استفاده نکنین . یعنی برنامه ی وقفه کمتر طول بکشه
سلام من میخوام اطلاعات رو از gps بگیرم و با gsm ارسال کنم حالا نیاز به دو پورت سریال روی میکرو است یکی کار با gsm و دیگری کار با gps رو بتونه انجام بده
حالا من میخوام بدونم چطور میشه دو پورت سریال داشت و بتوان به انها اطلاعات ارسال کرد
شما باید از یک پورت سخت افزاری و یک پورت نرم افزاری استفاده کنی. یعنی باید عملکرد پورت سریال رو بصورت نرم افزاری شبیه سازی کنی.
اگه از بسکام استفاده می کنید خودش تابع های آماده برای حالت نرم افزاری داره.
سلام من از کد ویژن استفاده میکنم کسی کدهای ایجاد پورت نرم افزاری رو داره؟
سلام به عزیزان امیدوارم درخواست سوال خود را در جایی مناسبی کرده باشم ! بنده ماژول sim900 رو توسط MAX 232 به PC وصل کردم کابل متصل کننده هم RS232 و وقتی تو ویندوز 7 هایپرترمینال رو باز میکنم وقتی ماژول رو روشن میکنم توسط خروجی پاور LED شبکه وقتی که چشمک میزنه یعنی اینکه روشن شده و من حتی سیم کارت هم گذاشتم که شبکه رو پیدا میکنه حتی تو محیط هایپرترمینال (اااا) میزنه زمانی روشن شدن ماژول ولی هیچ متنی رو نمیتونم تایپ کنم نمیدونم چرا خروجی tx , rx من کار نمیکنه من حتی یک ماژول sim900 و یک max232 دیگه رو هم امتحان کردم ولی .... باز اجازه دادن کامند ندارم ! به نظرتون مشکل از چی میتونه باشه !!! مرسی
برای خروجی کابل RS-232 من فقط از 2,3,5 استفاده کردم/ هیج اتصالی هم بین 9 پین نگذاشتم /.
و وقتی خروجی rx , tx مکس 232 رو بهم میزنم یه چیزایی تو هایپر تایپ میشه ولی وقتی به Sim900 میزنم نمیتون کامند بزنم کیبور قفل میشه و حتی ولتاژ 4.5 ولت به مکس و 4 ولت هم به Sim900 جداگانه دادم ولی کار نکرد که نکرد !
راستی اگر شماتیک اتصال مناسبی برای Sim900 توسط مکس 232 به pc رو دارین معرفی کنین /
با سلام
میزان باود ریت را چک کردیدید؟اگر یکی نباشند مبادله ی دیتا صورت نمیگیره
برای ارتباط فقط rx و tx و gnd لازمه
اولش چیزی نشون نمیده ولی اولین بار که دستور AT رو بفرستین اگه ok برگشت دیگه مشکل حل میشه. این برای حالت اتومات هست.
راستی پورت سریال ماژول هم با ولتاژ 2.8 ولت کار میکنه نه 4.5 ولت. حداقل از تقسیم ولتاژ مقاومتی استفاده کنین وگرنه ماژول با 4.5 ولت دیتا کار نمیکنه
نحوه كاربردsim900 and mobile به جه صورتييه؟
برای اینه که از شبکه ی موبایل به عنوان مسیر ارتباطی بیسیم استفاه کنین. مثل موبایلنقل قول:
يه توضيح مختصر در مورد عملكرد مدار هم بديد؟ تشكر
با سلام مهدی جان
جهت اسفاده از شبکه بیسیم موبایل برای ارسال دیتا از این نوع ماژولها که یه سیم کارت بر روی آنها نصب و استفاده میشه مثلا شما با ارسال یه پیامک مشخص که داخل برنامه تعریف کردی میتونی یه دستگاه در اداره یا خونه یا هرجای دیگه که ماژول انجا قرار دادی کنترل کنی مثلا روشن یا خاموش کنی یا بعنوان یه دزد گیر منزل یا ماشین استفاده کنی ..ناگفته نمونه خود ماژول به تنهایی این کار ها رو انجام نمیده باید به یه میکرو وصل باشه که دیتای ارسالی را تحلیل و پردازش کنه و کاری که ازش خواستی برات انجام بده متشکرم
با سلام خدمت دوستان
اگه یادتون باشه چند مدت پیش مشکلی در رابطه با ماژولsim900 مطرح کرده بودم بدین شکل که ماژول دو سه روزی کار میکنه و در نحوه ی دریافت و ارسال دیتا هیچ مشکلی نداره ولی بعد از گذشت این مدت یهو میکرو هنگ میکنه و برنامه متوقف میشه .بعد از اون فرکانس کاری رو از 11 به 8 مگ کاهش دادم دیدم مدار خیلی بهتر جواب میده ولی بازمشکل قبلی داره ولی خیلی کمتر ..اومدم در loop برنامه خوندن از پورت سریال یه وقفه چند میکرو ثانیه ای ایجاد کردم الان هیچ مشکلی نداره ..دلیل ممکنه چی باشه یعنی از سرعت خوندن دیتا بوده یا خیر؟
چی به ذهن شما اومد که اون تاخیر رو قرار دادین . خوب به همون دلیل این اتفاق میافتاده. مطمئنا شانسی این کار رو نکردین.
بود ریت رو شما چند انتخاب کردین. اونم کمتر کنین ببینین باز همین مشکل پیش میاد. درصد خطا چند هست.
در ضمن تاخیری که دادین در زمان رسیدن دیتا اثر نداره.
با سلام جناب مهندس
وقتی با همچین مشکلی برخوردم به ذهنم رسید که سرعت پردازش را کم و زیاد کنم یعنی اول فرکانس کاری را و باود را زیاد کردم با توجه که میزان خطا صفر بود اجرای برنامه را چک کردم دیدم موقعیکه یه پیامک میرسه هنگام پردازش و خواندن آن مشکلی نداره ولی جهت delete کردن پیامک بعضی اوقات از loop خارج نمیشه احتمال دادم شاید بافر خالی نمیشه یا جواب ok روی ترمینال ماژول ظاهر نمیشه که از loop خارج بشه تصمیم گرفتم فرکانس از 11.059مگا با باود ریت 115200 به 8مگا با باود ریت 9600تقلیل بدم در این حالت خیلی بهتر جواب گرفتم ..اما موضوع دیگری به ذهنم رسید و ان زمان خواندن میکرو از پورت سریال بود فکر کردم اگه یه ذره در خواندن تاخیر بندازم شاید نتیجه بگیرم الان مشکلی نداره ..تحلیلش به عهده اساتید میذارم
سلام دوستان
چند سوال در رابطه با این ماژول داشتم
1- در مشخصات ماژول sim900 نوشته رابط های spi و i2c هم داره ولی من نتونستم این پایه ها را روی sim900 پیدا کنم !!
2- برای یک ارتباط سریال بین میکرو و sim900 به غیر از rx و tx به پایه های دیگر ماژول احتیاج است ؟ من در یک برد دیدم که پایه های DTR و RI و DCD را هم به میکرو وصل کرده بود.
3- کار و وظیفه این سه پین DTR و RI و DCD چیست ؟
1- پایه های scl و sda برای این منظورا . ولی برای کنترل ماژول نیستن. با دستورات at از این امکانات ماژول استفاده میشه.نقل قول:
2- پایه های دیگه برای برسی سخت افزاری بعضی از وضعیت های ماژول هستن. مثلا در موقع اومدن sms و call پایه ی ri تغییر وضعیت میده
ممنون دقت نکرده بودم به پایه های scl و sda . من میخوام اگر بشود به جای ارتباط سریال از رابطه i2c این ماژول را کنترل و برنامه ریزی کنم .نقل قول:
کنترل ماژول مگر با دستورات at نیست ؟