LCD که تابعش موجوده و راه اندازیش سادست و نیاز به کد نویسی مجزا نداره... :smile:
راجع به اکثر آی سی های لاجیک هم همونی که گفتم صادقه. (البته در موارد فرکانس بالا، بهتره به تاخیر گیتهای منطقی هم یه نیم نگاهی بشه، که از کلاک سیستم بیشتر نباشه) :nerd:
دلی دارم که از تنگی در او جز غم نمی گنجد........ غمی دارم ز دلتنگی که در عالم نمیگنجد
تاخیر را با چه دستوری ایجاد میکنید؟با delay؟
برای درایو IC یک به یک برنامه مینویسید که setوreset کنید یا راه احت تر هم هست؟
برای فرکانس باید چه کار کرد؟
اگه آیسی یا ماژول خاصی مد نظرته بگو تا راحت تر به جواب برسی.
اما کلا فکر کنم منظورت پیاده کردن یه پروتکل هست که میکروکنترلرت نداره یا مثلاً تابع آمادشو هم نداری. درسته؟
اگه منظورت اینه ، همونطور که خودت گفتی باید با رعایت تایمینگ (Timing) پینهای مربوطه رو 0 و 1 کنی و ورودی ها رو بخونی.
سلام
خیلی راحت
اول یه سرچ دقیق تو نت میزنی ببینی کسی قبلا این کار رو کرده یا نه. چون وقت گزاشتن رو کاری که قبلا انجام شده فقط وقت تلف کردنه.
اگر نبود باید خودت دست به کار بشی. اول از همه باید دیتاشیت قطعه رو با دقت تمام بخونی. بعد باید واسش یه کتابخونه بنویسی. حالا کتابخونه رو چه جوری بنویسی؟ یه فایل هدر میسازی و تمام تعریف ها مقادیر ثابت و پیش تعریف توابع رو تو اون مینویسی. بعد بدنه اصلی توابع رو هم توی یه فایل c ذخیره میکنی و اون فایل رو تبدیل به فایل کتابخونه میکنی.
بعد هم کتابخونت رو تست میکنی و اشکالاتش رو برطرف میکنی.
و در آخر هم اونو تو سایت پ میکنی تا همه استفاده کنن
موفق باشید
Work with what you have .Never limit yourself by things you could have had
ببین اگر میخواهی با یه کنترلر کار کنی که فرکانسش با میکرو شما یکی نیست.این فرکانس ها هیچ ربطی بهم ندارند. قالبا کنترلر شما با یه پرتکل ارتباطی مثل spiو... کانفیگ میشه و اون فرکانس هم فرکانس کاریشه و تداخلی ایجاد نمیکنه.
بازم اگرic مورد نظرت رو بگی بهترمیشه کمک کرد.
Work with what you have .Never limit yourself by things you could have had
IC خاصی مد نظرم نیست ولی میخوام قالب کلی کار تو دستم بیاد
مثلا اگر فرکانس میکرو 8MHz باشه و فرکانس IC دیگه 6MHz باشه وبخواهید با صفر و یک کنترل کنید چه کار میکنید؟
از چه دستوری برای تآخیر استفاده میکنید؟
IC خاصی مد نظرم نیست ولی میخوام قالب کلی کار تو دستم بیاد
مثلا اگر فرکانس میکرو 8MHz باشه و فرکانس IC دیگه 6MHz باشه وبخواهید با صفر و یک کنترل کنید چه کار میکنید؟
از چه دستوری برای تآخیر استفاده میکنید؟
ببین ، شما یا ارتباطت سنکرونه یعنی کلاک داره مثل I2C یا SPI یا آسنکرونه و کلاک نداره مثل UART .
اگر کلاک داشته باشه که اصلاً به فرکانس ربطی نداره و با هر سرعتی بخواهی باهاش کار میکنی(البته سرعت ماکزیمم رو که تو دیتاشیت قید شده باید رعایت کنی)
اگر هم کلاک نداشته باشه بالاخره یه BitRate یا نرخ ارسالی داره دیگه! معمولا بیت ریتها استاندارد هستن و با میکروها براحتی قابل پیاده سازی اند. اگر هم بیت ریتش استاندارد نبود باید با مطالعه دیتاشیت زمانبندی دقیقش رو بدست بیاری. برای تاخیر هم از همون دستورات Delayms و ِDelayus استفاده میشه.البته برای تاخیر های دقیقتر اسمبلی مینویسن.
مثلا اگه بخواهیم یک حافظه موازی را راه اندازی کنیم ولی فرکانس ها نسبت به هم بخشپذیر نباشند چه کار باید بکنیم؟
اگر بخواهیم با فرکانسی در حد کیلو هرتز کار کنیم چه؟
راستی دستوری که میکرو را یک سیکل نگه میدارد چیست؟
در ضمن تابع delay به ازای یک ms دقیقا یک ms تاخیر می اندازد؟
معمولاً در حافظه های موازی و کلاً ارتباطات سنکرون اون فرکانسی که شما میگید تو دیتاشیت نوشته حداکثر فرکانس مجاز هست و پایین تر از اون مشکلی نداره.
تقریباً همه میکروکنترلرها دستور No operation یا NOPآ دارند که یک یا دو سیکل ماشین تلف میکند.
تابع delayms هم دقتش بسته به فرکانس میکرو و نوع کامپایلر فرق میکنه ولی دقیق دقیق نیست. مثلاً + - 10 سیکل ماشین
دیدگاه