چرا نشون نده.
طرف اسلیو یه السیدی بزارید . یک علامت % روی السیدی نشون میده . چون طرف master شما متغییر دیتا را 0x25 دادید و ریختید تو SPDR که 0x25 به دسیمال میشه 37 و 37 کد اسکی % است.
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
استفاده کردم ارور داد؟باید متغیرشو حافظه فلش تعریف کنم؟
ببنید تو c هر تابعی یک یا چند مقدار به عنوان ورودی میگیره و یک مقدار خروجی میده . (اینا الزامی نیست و میتونه نباشه)
مقداری که تابع lcd_putchar() میگیره یک متغییر از نوع کاراکتر است.(char )
ولی مقداری که تابع lcd_putsf() میگیره یک اشاره گر از نوع اشاره گر به کاراکتر داخل حاظه فلش است. اشاره گر به کاراکتر بیشتر برای دادن یک رشته یا string بکار میره . پس در صورتی که شما میخواهید به این تابع پارامتر بدید باید یک استرینگ که داخل حافظه فلش است را بهش بدید.
در رابطه با کد اسکی و هگز هم . کلیه توابع مربوط به السیدی و کلا رشته بیشتر با کد اسکی سروکار دارند . پس نمیتونید در حالت عادی هگز روی السیدی داشته باشید. مگه اینکه تابعی بنویسید که خیلیم راحته . اگر دوست داشتید بگید تا در اولین فرصت بنویسم.
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
ببنید تو c هر تابعی یک یا چند مقدار به عنوان ورودی میگیره و یک مقدار خروجی میده . (اینا الزامی نیست و میتونه نباشه)
مقداری که تابع lcd_putchar() میگیره یک متغییر از نوع کاراکتر است.(char )
ولی مقداری که تابع lcd_putsf() میگیره یک اشاره گر از نوع اشاره گر به کاراکتر داخل حاظه فلش است. اشاره گر به کاراکتر بیشتر برای دادن یک رشته یا string بکار میره . پس در صورتی که شما میخواهید به این تابع پارامتر بدید باید یک استرینگ که داخل حافظه فلش است را بهش بدید.
در رابطه با کد اسکی و هگز هم . کلیه توابع مربوط به السیدی و کلا رشته بیشتر با کد اسکی سروکار دارند . پس نمیتونید در حالت عادی هگز روی السیدی داشته باشید. مگه اینکه تابعی بنویسید که خیلیم راحته . اگر دوست داشتید بگید تا در اولین فرصت بنویسم.
خیلی ممنونم واقعا استفاده کردم.یه سوال دیگه.الان اگه بخوام هم بفرستم هم بگیرم (ارتباط دو طرفه)برنامه چطور میشه؟
خیلی ممنونم واقعا استفاده کردم.یه سوال دیگه.الان اگه بخوام هم بفرستم هم بگیرم (ارتباط دو طرفه)برنامه چطور میشه؟
خواهش میکنم.
شما برای اینکه اینکار را انجام بدید باید سمت اسلیو قبل از ایجاد ارتباط رجیستر SPDR را مقدار دهی کنید.
در سمت مستر ، مقدار بازگشتی تابع spi میشه همون مقداری که در اسلیو به SPDR دادید.
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
شما برای اینکه اینکار را انجام بدید باید سمت اسلیو قبل از ایجاد ارتباط رجیستر SPDR را مقدار دهی کنید.
در سمت مستر ، مقدار بازگشتی تابع spi میشه همون مقداری که در اسلیو به SPDR دادید.
شما تو هیچ ارتباطی سمت اسلیو نباید ss را کنترل کنید. اسلیو یعنی برده ، برده هیچ کنترلی روی آقاش(مسترش) نداره.
اگر منظورتون سمت مستر است. بله فرقی نمیکنه (اصلا ارتباط یک طرفه با spi نداریم، توی اون برنامه هم ارتباط دوطرفه بود ولی ما دیگه از دیتای ارسالی از سمت اسلیو استفاده نکردیم)
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
شما تو هیچ ارتباطی سمت اسلیو نباید ss را کنترل کنید. اسلیو یعنی برده ، برده هیچ کنترلی روی آقاش(مسترش) نداره.
اگر منظورتون سمت مستر است. بله فرقی نمیکنه (اصلا ارتباط یک طرفه با spi نداریم، توی اون برنامه هم ارتباط دوطرفه بود ولی ما دیگه از دیتای ارسالی از سمت اسلیو استفاده نکردیم)
تشکر واقعا چیزای زیادی ازتون یاد گرفتم.شما که تجربه دارید بهترین حالت تنظیماتش چه حالتیه؟مثلا تو عمل فرق داره اول lsbبفرستی یا msb؟منظورم اینه تاثیر توی کار داره یا دست خودمونه که کدوم برامون اهمیت داره؟
دوبرابر شدن سرعت مستر لازمه؟چه مواقعی از این استفاده میکنیم؟
تشکر واقعا چیزای زیادی ازتون یاد گرفتم.شما که تجربه دارید بهترین حالت تنظیماتش چه حالتیه؟مثلا تو عمل فرق داره اول lsbبفرستی یا msb؟منظورم اینه تاثیر توی کار داره یا دست خودمونه که کدوم برامون اهمیت داره؟
دوبرابر شدن سرعت مستر لازمه؟چه مواقعی از این استفاده میکنیم؟
در رابطه با تنظیم بیت DORD که برای همون تنظیم فرستادن بیت نخست( lsb یا msb ) است فرقی نمیکنه . فقط باید هر دو سمت یک جور تنظیم شوند.
دوبرابر کردن سرعت خوب معلومه برای افزایش سرعت ارتباط است ولی فکر میکنم دقت sampling را کم میکنه ( در دیتاشیت اشاره نشده ، ولی تجربی اینطوره)
ولی یک نکته هست که spi میکرو آنچنان سرعت بالایی نداره ، زیاد بکار ارتباطی بین دو میکرو نمیخوره(با دوبرابر کردن هم در مقایسه با اینترفیس های دیگه سرعتش قابل مقایسه نیست و خیلی ناچیزه ( بایستی بگم این بخاطر کم بودن سرعت Avr است ) )
بیشتر از Spi میکرو برای ارتباط با ماژول ها و آیسی های دیگه روی برد و کنار میکرو استفاده میشه( برای ارتباط طولانی اصلا جواب نمیده)
بخاطر همین زیاد شما نیاز نیست سمت اسلیو را طراحی کنید ، چون اون آیسی که میخواید باش ارتباط برقرار کنید حکم اسلیو براتون میشه و شما با توجه به دیتاشیتش باید spi را سمت مستر تنظیم کنید(همون lsb و msb هم جزء همیناست و سرعت و تنظیمات دیگه)
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
سلام
قبل از همه چیز بتون توصیه میکنم از کدویزارد استفاده نکنید. اگر دوست دارید تو برنامه نویسی برای میکروها پیشرفت کنید ،برید رجیسترها را یاد بگیرید و به دیتاشیت تسلط داشته باشید.(اگر دوست دارید بگید تا مرجع بگم)
این مرجع رو که گفتید میزارید برام؟
تقریبا زبانم خوبه اما با دیتاشیت نمیتونم خوب کارکنم؟مشکل از کجاس
این مرجع رو که گفتید میزارید برام؟
تقریبا زبانم خوبه اما با دیتاشیت نمیتونم خوب کارکنم؟مشکل از کجاس
اگر زبانتون خوبه که بهترین مرجع دیتاشیته (بدون شک ، مطمئن باشید) کلیه ی مرجع های دیگه هم از دیتاشیت استفاده کردن.(دفترچه راهنمای هر قطعه و هر وسیله ی الکترونیکی دیتاشیتشه)
ولی از مرجع های فارسی من مقاله آموزش سریع میکروکنترلر avr تالیف رضا سپاس یار را بتون توصیه میکنم ( ولی حتما کنارش دیتاشیتم مطالعه کنید)(توضیح فارسی رجیستر ها را که میخونید برید تو دیتاشیت و همون رجیستر را از دیتاشیتم بخونید + جداول و عکسهای مربوط به اون)
فیلم های آقای کی نژادم خیلی خوبی ولی به نظرم اول باید یه دید کلی داشته باشید بعد ببینید(دید کلی با مقاله جناب سپاس یار بدست میاد)
فیلم های آقای کی نژاد : knowledgeplus.ir
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
سلام آقای مرتضوی از شما بخاطر راهنمایی های ارزشمندتون تشکر میکنم
چند وقتی هست که قصد دارم کامپایلرم رو از ویژن عوض کنم به avr studio فقط مشکلم با سینتکس هاش هست لطفا منو راهنمایی کنید
چه یافت آنــکه تــو را گم کرد وچه گم کرد آنـکه تــو را یافت.
سلام آقای مرتضوی از شما بخاطر راهنمایی های ارزشمندتون تشکر میکنم
چند وقتی هست که قصد دارم کامپایلرم رو از ویژن عوض کنم به avr studio فقط مشکلم با سینتکس هاش هست لطفا منو راهنمایی کنید
خواهش میکنم
چون این مطلب ربطی به این تاپیک نداره الان یه تاپیک دیگه میزنم و دربارش توضیح میدم.
راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
انشالله به زودی تاپیک ها به روز رسانی خواهد شد،
دیدگاه