پاسخ : !!!!!!!!!!همه چیز درباره ارتباط SPI!!!!!!!!!!
سلام بر همه دوستان گرامی
من مدتی است که دارم سعی میکنم روی ارتباط SPI کار کنم ولی نمیدونم چطور همه چیز توی پروتئوس و سیمولیشن درست کار میکنه ولی در عمل وقتی روی برد برد میبندم این اتفاق نمی افته. در عمل تنها چیزی که من روی LCD میبینم عدد 0 یا 255 هست.
شماتیک پروتئوس به اضافه کدهای کارم رو به پیوست همین پست میتونید ببینید.
خواهش میکنم دوستان نکاتی رو که در زمینه کار عملی با این پروتکل میدونند در اختیار بنده و سایر مبتدیان قرار بدن.
خیلی سپاسگذارم
کد زیر مربوط به میکروی مستر ATmega 8
و کد میکروی اسلیو ATmega 32
و اینهم شماتیک پروتئوس
test_spi.jpg
سلام بر همه دوستان گرامی
من مدتی است که دارم سعی میکنم روی ارتباط SPI کار کنم ولی نمیدونم چطور همه چیز توی پروتئوس و سیمولیشن درست کار میکنه ولی در عمل وقتی روی برد برد میبندم این اتفاق نمی افته. در عمل تنها چیزی که من روی LCD میبینم عدد 0 یا 255 هست.
شماتیک پروتئوس به اضافه کدهای کارم رو به پیوست همین پست میتونید ببینید.
خواهش میکنم دوستان نکاتی رو که در زمینه کار عملی با این پروتکل میدونند در اختیار بنده و سایر مبتدیان قرار بدن.
خیلی سپاسگذارم
کد زیر مربوط به میکروی مستر ATmega 8
کد:
$regfile = "m8def.dat" $crystal = 4000000 $hwstack = 40 $swstack = 16 $framesize = 32 '$sim Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 1 , Clockrate = 4 , Noss = 0 Dim X As Byte Cls Config Lcdpin = Pin , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5 , E = Pinc.1 , Rs = Pinc.0 Config Lcd = 16 * 2 Cursor Off : Cls Locate 1 , 1 : Lcd "ALPA" Locate 2 , 1 : Lcd "Ver 2" Wait 2 Cls Spiinit X = 10 Lcd X Waitms 500 Do 'X = Spimove(x) Spiin X , 1 Lcd X Wait 1 Cls Loop End
کد:
$regfile = "m32def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '$sim Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = No , Polarity = Low , Phase = 1 Dim X As Byte X = &H7A Spiinit Do Spiout X , 1 'Wait 1 Loop End
test_spi.jpg
دیدگاه