PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در استفاده از هدر spi.h



beroz
03-01-2013, 18:46
سلام

من میخوام از هدر spi.h استفاده کنم ولی متوجه نمیشم چطور اولش تعریف کنم که کدوم پایه ها رو استفاده کنه به عنوان MISO MOSI SCK CS
ممنون میشم یکی کمکم کنه

من از هدری که آقای مزارعی در پست زیر گذاشتن استفاده میکنم

کلیه آموزش ها و نکات مهم برد eke2sam7x v2.0 کویرالکترونیک - ایـــــــــران میـــــــکرو ™ (You can see links before reply)

معنی جمله زیر رو نمیفهمم


پایه های PIO را برای استفاده از SPI با استفاده از ماکروی SPI_Configure_PIO_MAKS و یا SPI_Configure_PIO_BIT مقدار دهی کنید.

در مثالی که قرار دادن به صورت زیر عمل شده



SPI_Configure_PIO_MAKS(SPI0_PORT,SPI0_PIO_MASK); // Enable the SPI pins required by the application
الان با این اطلاعات چطور میشه فهمید از کدوم پایه به قطعه ای که میخام باش با spi ارتباط بر قرار کنم باید اتصال ایجاد کنم

1nafar
03-01-2013, 23:16
سلام

SPI_Configure_PIO_MAKS(SPI0_PORT,SPI0_PIO_MASK);
یک تابع هست که دو تا متغیر رو از مکان دیگر در برنامه میگره ، با جستوجو کردن SPI0_PIO_MASK و SPI0_PORT در فایل SPI.H به کد های زیر میرسید :


#define SPI0_PORT AT91C_BASE_PIOA
#define SPI0_NPCS0 12
#define SPI0_NPCS1 13
#define SPI0_NPCS2 14
#define SPI0_NPCS3 15
#define SPI0_MISO 16
#define SPI0_MOSI 17
#define SPI0_SPCK 18
#define SPI0_PIO_MASK ((1<<SPI0_NPCS0)|(1<<SPI0_NPCS1)|(1<<SPI0_NPCS2)|(1<<SPI0_NPCS3)|(1<<SPI0_MISO)|(1<<SPI0_MOSI)|(1<<SPI0_SPCK))

که بسته به نوع میکروکنترلری که استفاده میکنید ، باید مشخص کنید که باس SPI در کدوم پورت قرار داره ( پورت A یا B یا ... )
در ادامه باید مشخص کنید که پین های MOSI و MISO و SCK و پایه های انتخاب داده کدام یک از پین های پورت فوق هستند که در پیکربندی پیش فرض پایه های 12 تا 17 مروبط به باس SPI هستند .

beroz
04-01-2013, 15:06
آقا خیلی ممنون

فقط یک سوال دیگه تو AVR موقعی که از هدر spi.h و دستور spi() استفاده میکردیم خودمون دستی CSN و قبل استفاده صفر میکردیم بعدش ۱ میکردیم تو آرم اتمل با این هدری که الان هست هم لازم هست این کارو بکنیم؟