ايران ويج

نسخه‌ی کامل: خواندن دستورات از فلش مموری توسط میکرو
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام عزیزانم
به یه کمک احتیاج دارم
یه سخت افزار درست کردم به کامپیوتر وصلش کردم ولی باید دائم شبانه روز سیستم روشن باشه
حالا میخوام یه برنامه بنویسم که ساعتهای که میخوام دستگاه پورتی را خاموش یا روشن کنه بریزه تو فلش مموری یا کول دیسک بعد اینو به میکرو avrوصل کنم از روی فلش دستورات رو اجرا کنه
مثلا سر یه ساعت یه لامپ رو خاموش کنه یا روشن و نخواد دائما به سیستم وصل باشه
در صورت امکان پیشنهاداتون رو بگید ممنون از همتون
خوب با پورت سریال ساعت هاس روشن و خاموش شدن رو به میکرو بفرست و میکرو در اون ساعت های دریافتی خاموش و روشن کنه !!
الان همین کارو دارم میکنم میخوام کامپیوتر را حذف کنم که برنامه زمانبندی رو از فلش بخونه و اجرا کنه
حالا چرا از فلش بخونه!
راه های ساده تری هم واسه کار شما وجود داره !

مثلا دیتا رو از سریال بگیره و تو EEPROM ذخیره کنه و حال دیگه از eeprom بخونه !!!
اینوطری برق هم قطع بشه مشکل نداره !!!!




الان فهمیدم شما چی کار کردی ؟
شما الان با پورت سریال دستور خاموش و روشن شدن رو انگار صادر می کنی !

ولی منظور من اینه که کامپیوتر زمان های مورد نظر رو به میکرو بفرسته و میکرو زمان های وارد شده رو بار RTC خودش مقایسه کنه و بسته به مقادیر دریافت شده خروجی ها رو تغییر بده !!!
این کارم میشه کرد ولی خیلی درد سر داشت زمانها رو به میکرو دادم و در حافضه ذخیزه کردم اما چون زمان و شماره پورت و دستور ان و اف با هم میفرستم خیلی درد سر داره
نوع متغیر ها فرق میکنن و...
حالا موندم که از چه روش عملی استفاده کنم
ممنون از کمکت
چطور میشه چند دستور مثلا شماره پورت و دستور خاموش و روشن شدن و ساعت خاموش روشن شدن رو از ایپرم خوند
خودم میام کلشو میریزم تو متغیر بعد اندازه فرضا 6 کارکتر رو جدا میکنم میخونم میریزم تو یه متغیر دیگه به همین ترتیب
اما اینکه خواندن سطر ها از حافظه مشکل میشه یعنی چطور میتونه میکرو هر سطر و خانه حافظه رو جدا جدا بخونه و بفهمه چند تا از خونه های حافظش پر شده
خوب مهندس متغییر معمولی چجوری کار می کنی !!
با EEPROM هم همونجوری !
البته مقادیر رو ترجیحا فقط تو eeprom ذخیره کن و موقع روشن شدن سیستم اونها رو بخون !!

هیچ مشکلی تو این قضیه من نمیبینم !!!

مثلا شما دیتای زیر رو از تو کامپیوتر به میکرو ارسال می کنی :

کد:
T01=1230=0
یعنی زمان اول در ساعت 12:30 خروجی رو صفر کن!

حال با دستور mid ت تک کارکترها رو جدا می کنی و یه ارایه در نظر گرفتی و تو آرایه اول ( همون زمان اول ) ساعت و دقیقه و وضعیت رو ذخیره می کنی !
می تونی رشته عددی رو به خود عدد تبدیل کنی که جا کمتر بگیره !

تو ساعتی هم که با خود میکرو درست کردی هر دقیقه مقادیر ساعت فعلی با زمان هایی که دریافت شده رو تست می کنه و اگه برابر بود کارشو انجام می ده !

موقع دریافت دیتا متغیر ها رو هم تو یه متغییر توع eeprom ذخیره می کنی و موقه روشن شدن سیستم اونها رو می خونی !!

من هیچ سختی نمیبینم !
یکم همت کنی برنامه اش ساده هستش !!!
موفق باشی !!!!
مهندس جون اینا رو انجام دادم اما مشکل اینجاست که فقط یک کد نیست که به میکرو ارسال کنم
بستگی داره یه وقت میبینی 50 خط باید ارسال و ذخیره بشه یه وقت 100 خط این یه بدبختی هست
بعدا میکرو چطور میتونه بفهمه چند خط ذخیره شده و چطور اندیس بهش بده و......
اینجوری کهع شما میفرماید رو انجام دادم اما حرفه ای نبود دنبال یه راه حرفه ای میگشتم که ارور نگیره
سپاس گذارم از توجهت
دیگه چه پیشنهادی داری
منم همین سوال را دارم
توی باسکام چطوری از روی فلش مموری یک فایل txt را خط به خط بخونم ؟
در مورد دوستمون که این تاپیک رو زدن آخرش نفهمیدم می خوان چیکار کنند(فهمیدم یه چیزایی اما....)


(۱۱-مرداد-۱۳۸۹, ۱۱:۳۰:۳۸)joker نوشته است: [ -> ]منم همین سوال را دارم
توی باسکام چطوری از روی فلش مموری یک فایل txt را خط به خط بخونم ؟

اگر منظورتون از فلش مموری کارت های mmcیا sdباشه راه کارش avr-dos هست.
به این تاپیک مراجعه کنید :
این تاپیک
و به تاپیک سیستم عامل برای avr که آخرین پستش یه چیزایی هست(من با برنامه ای که نوشته بودم سطر به سطر دستورات را از داخل یه فایل txt که داخل یه mmc که با فرمت fat بود ، می خواندم و .....)
اما اگر منظورتون استفاده از فلش مموری های خودمون(یو اس بی) هست باید یه پورت usb-host داشته باشیدکه این امکان از arm9 و به بعد وجود دارد. اما ماژول ها usb-host وجود داره :
1- لینک 1

2 - لینک 2 ( برد آماده - 19 هزار)
با تشکر ویژه از salehjg بابت معرفی لینک
دیگه همه چی تموم بود :)
فایلهای آموزش را همینجا هم ضمیمه میکنم .
سلام این نرم افزاری که AMIN.TXT وغیره را که zip کردی با چه نرم افزاری بود چون وقتی خودم zip میکنم انگار روی مموری چیزی نیست.