با سلام خدمت دوستان و اساتید بزرگوار ، بنده می خوام بین 2تا میکرو ارتباط برقرار کنم و تعداد محدودی بایت رو رد و بدل کنم 
اما مشکل اینجاست که توی پروتئوس خوب کار میکنه ، اما توی مدار خیر :angry:
یعنی وقتی میگم میکروی2 بخون از میکروی1 ، و هر چی گرفتی رو روی LCD نشون بده ، چیزای الکی پلکی مینویسه :mrgreen:
پروژه ازین قراره که میکرو اول دیتایی رو به فرمت (L000P000A000S) می خواد ارسال کنه در ضمن حروف L,P,A,S همیشه ثابت هستن ولی صفرهای بین اونا می تونه عددی از 0تا999 باشه که هر کدوم کار خاصی رو انجام میده .
کریستال خارجی هم گذاشتم .
و ضمنا در حالت اینتراپتی هم برنامه رو نوشتم ، که مواقعی که اینتراپت سریال فعال شد از برنامه اصلی برگرده و بره از سریال بخونه . :nice:
بزرگوارن لطف بفرمایند چطور میتونم بین 2تا میکرو به درستی این کارو انجام بدم در ضمن قالب اصلی برنامه رو واستون جهت راهنمایی بیشتر میزارم . :nerd:
دوستان بسیار از راهنماییتون پیشاپیش سپاس گذارم .

اما مشکل اینجاست که توی پروتئوس خوب کار میکنه ، اما توی مدار خیر :angry:
یعنی وقتی میگم میکروی2 بخون از میکروی1 ، و هر چی گرفتی رو روی LCD نشون بده ، چیزای الکی پلکی مینویسه :mrgreen:
پروژه ازین قراره که میکرو اول دیتایی رو به فرمت (L000P000A000S) می خواد ارسال کنه در ضمن حروف L,P,A,S همیشه ثابت هستن ولی صفرهای بین اونا می تونه عددی از 0تا999 باشه که هر کدوم کار خاصی رو انجام میده .
کریستال خارجی هم گذاشتم .
و ضمنا در حالت اینتراپتی هم برنامه رو نوشتم ، که مواقعی که اینتراپت سریال فعال شد از برنامه اصلی برگرده و بره از سریال بخونه . :nice:
بزرگوارن لطف بفرمایند چطور میتونم بین 2تا میکرو به درستی این کارو انجام بدم در ضمن قالب اصلی برنامه رو واستون جهت راهنمایی بیشتر میزارم . :nerd:
دوستان بسیار از راهنماییتون پیشاپیش سپاس گذارم .
کد:
میکرو1 : جهت ارسال $regfile = "m16def.dat" $crystal = 11059200 Config Com1 = 1200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Serialin = Buffered , Size = 20 , Bytematch = All Config Serialout = Normal '----------------------------- dim s1 as String * 13 dim s2 as String * 13 dim s as String * 1 DIM A AS Byte , B AS Byte DIM I AS Byte '============================= Enable Interrupts Config Lcdpin = Pin , Db4 = PinA.4 , Db5 = PinA.5 , Db6 = PinA.6 , Db7 = PinA.7 , Rs = PinA.0 , E = PinA.1 Config Lcd = 16 * 2 '"""""""""""""""""""""""""" S1 = "L000P000A000S" waitms 4 Do 'ERSAL DATA Loop '########################### Serial0bytereceived: Return میکرو2: جهت دریافت $regfile = "m16def.dat" $crystal = 11059200 Config Com1 = 1200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Config Serialin = Buffered , Size = 20 , Bytematch = All Config Serialout = Normal Config Lcdpin = Pin , Db4 = PinA.4 , Db5 = PinA.5 , Db6 = PinA.6 , Db7 = PinA.7 , Rs = PinA.0 , E = PinA.1 Config Lcd = 16 * 2 Dim S1 As String * 13 Dim S2 As String * 13 DIM S AS String * 1 DIM A AS WORD , B AS Byte DIM I AS Byte Enable Interrupts ` '"""""""""""""""""""""""""" CLS : LCD "Home" waitms 4 Do 'NAMAYESH RECIVED Loop '############################################################################################################# Serial0bytereceived: S1 = Inkey() Return
دیدگاه