با سلام ،
دوست عزیز شما در حال استفاده از ورژنی قدیمی از اینترنت اکسپلورر هستید ، برای اینکه مشکلات ناشی از نمایش را نداشته باشید ، لطفا اقدام به دریافت مرورگری مناسب کرده و یا از ورژن قدیمی ما استفاده نمایید.


امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
انتقال اطلاعات بین دو میکروکنترلر
#11
با سلام
دوست عزیز متیونی از کد زیر استفاده کنی ..
برای راحتی شما من فایل پروژه را آپلود کردم به همراه شمایتک مدار ..Angel
با هر بار فشردن شستی یه مقداری ارسال میشه و توسط میکروی دوم دریافت میشه ( البته میتونی ارتباط دوطرفه هم داشته باشید )
کد:
****SEND CODE****
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Portb = Input
Dim A As Byte
Do
If Pinb.7 = 1 Then
Printbin 1
End If
If Pinb.6 = 1 Then
Printbin 2
End If
If Pinb.5 = 1 Then
Printbin 3
End If
Loop
End
کد:
****RECIVE CODE****
$regfile = "m8def.dat"
$crystal = 1000000
$baud = 9600
Config Portb = Output
Dim A As Byte
Do
A = Inkey()
If A = 1 Then
Toggle Portb.0
End If
If A = 2 Then
Toggle Portb.1
End If
If A = 3 Then
Toggle Portb.2
End If
Loop
End



دیدن لینک ها برای شما امکان پذیر نیست. لطفا ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید.
پاسخ
#12
با سلام  ...من تونستم یه عدد مانند100 را از یک میکرو به میکروی دیگر بفرستم و با متغیری که در میکروی 2 بود اعمال ریاضی  روشون انجام بدم ولی اون متغیر اصلیم که Word هم هست یه عدد 3 4 رقمیه در میکروی 1 تولید می شه می فرستم میکروی 2 نمی ره نمی دونم ...کلا هدفم اینه که یه متغییر 3 4 رقمی Word بفرستم به یک میکرو دیگه
پاسخ
#13
مقدار کریستال و باودریت هردو میکرو یکی هست؟
کدی که نوشتم دیدی؟
مستقیما مقدار ارسال میکنی یا اینکه میریزی تو متغییر و محتواشو ارسال میکنی؟
اگر میخای کدی که نوشتی بزار تا بتونم بهتر راهنمایی کنم
یه سوال دیگه تو تبادل دیتا تو هر دو میکرو اینجوره یا فقط از یکی به یکی دیگه ( منظورم مشکل دوطرفست یا فقط ار یه جهت )؟
پاسخ
#14
من از بیشتر از روش spi استفاده می کنم...می ریزم تو یه متغییرمثلا Aکه Word هم است...من کلا ارتباط یک طرفه لازم دارم یه متغییر از یه میکرو بره میکرویه دیگه همین
پاسخ
#15
آقا سینای عزیز
بهترین و ساده ترین روش اونی هست که گذاشتم
میتونی کد که نوشتی بزاری اینجا تا دوستان هم ببینند و راهنمایی کنند
پیگیری میکنم
پاسخ
#16
سلام
$regfile = "m16def.dat"
$crystal = 8000000
Dim A As word
Config Spi = Hard , Interrupt = On , Data Order = Lsb , Master = No , Polarity = High , Phase = 0 , Clockrate = 128
Spiinit
A= distance
Do
Spiout A , 1
Exit Do
Loop
 End
برنامه ی اسلیو بود که متغیر یه عدد چهاررقمی است (distance) که در متغیر A می ریزم
اینم برنامه ی مستر
$regfile = "m16def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Pind.2 , Db5 = Pind.3 , Db6 = Pind.4 , Db7 =
Pind.5 , Rs = Pind.0 , E = Pind.1
Config Lcd = 16 * 2
Dim A As Word
Config Spi = Hard , Interrupt = On , Data Order = Lsb , Master = Yes ,
Polarity = High , Phase = 0 , Clockrate = 128
Spiinit
Do
Spiin A , 1
Locate 1 , 1
Lcd A
Loop
End
می شه شما همین کدارو با همون کدایی که خدتون نوشتید بنویسید و تو همون مدارم چک کنید خیلی ممنون می شم ...با تشکر
پاسخ
#17
سلام
کسی نیست کمک کنه؟
پاسخ
#18
با سلام
آقا سینای عزیز شرمنده من کمی سرم شلوغ بود نتونستم تست کنمBlush
تا فردا ظهر تست کنم میگم البته من با spi کار نکردم باید کمی روش وقت بزارم;)
پاسخ
#19
آقا من نتونستم با این spi نتیجه بگیرم،دارم روش کار میکنم;)
از دوستان دیگه هم میخام که بیان و به آقا سینا کمکی کنند
پاسخ
#20
حالا چرا گیر دادین به SPI؟ :D
support.wle.ir
پاسخ
مشترک شدن در این موضوع


پرش به انجمن:

کاربرانِ درحال بازدید از این موضوع: 1 مهمان

انتخاب پوسته :

دسترسی سریع
درباره ما
انجمن سرزمین الکترونیک در 20 شهریور 91 تاسیس شده ، که همیشه سعی کرده با ظاهری متفاوت و سرعتی خوب رضایت کاربران را جلب کند ، امیدواریم توانسته باشیم گامی کوچک در پیشرفت فناوری در ایران برداشته باشیم...
نیرو گرفته از MyBB 1.8.6 با فارسی سازی مای بی بی ایران - طراحی شده در : ملت دیزاین
© تمامی حقوق برای انجمن سرزمین الکترونیک محفوظ می باشد .

پوسته‌ی انجمن: