amin_a_y
18-11-2011, 01:44
سلام دوستان امیدوارم دنیا به کامتون باشه...!:wink:
من یک برنامه با #C برای کامپیوتر نوشتم برای کنترل دو موتور DC...!
من برنامه میکرو رو هم با بسکام نوشتم...!
من برای راه اندازی موتور ها از رشته استفاده می کنم مثلا با فرستادن رشته "w" موتور یک راه اندازی میشه!این کار در Terminal بسکام با تایپ "w" و زدن اینتر به خوبی کار میکنه..!
ولی در #C این طور نیست و عمل اینتر رو با "n\" امتحان کردم نشد ولی با "\r\n" شد!!!
حالا مشکل اینجاست که این کار برای بار اول درست کار میکنه ولی برای بار دوم و سوم و... دیگه نه وقتی رشته ارسالی در مرتبه دوم رو تو LCD دیدم متوجه کاراکتر اضافی "|||" در اول رشته که بار دوم فرستادم شدم!
ممنون میشم من رو راهنمایی کنید.
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600
Config Lcdpin = Port , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.0 , Rs = Porta.1
Enable Interrupts
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Portd.2 = 0
Portd.3 = 0
Portd.4 = 0
Portd.5 = 0
Cls
Dim B As Byte
Do
Input B
Locate 1 , 1
Lcd B
Select Case B
Case Back:
Cls
Portd.2 = 1
Portd.3 = 0
Locate 1 , 1
Lcd "Back"
Waitms 50
Case Forword:
Cls
Portd.2 = 0
Portd.3 = 1
Locate 1 , 1
Lcd "Forword"
Waitms 50
Case Lef:
Cls
Portd.4 = 1
Portd.5 = 0
Locate 1 , 1
Lcd "Left"
Case Righ:
Cls
Portd.4 = 0
Portd.5 = 1
Locate 1 , 1
Lcd "Right"
Case Else:
Portd.2 = 0
Portd.3 = 0
Portd.4 = 0
Portd.5 = 0
Locate 1 , 1
Lcd "Waiting ..."
End Select
Loop
End
من یک برنامه با #C برای کامپیوتر نوشتم برای کنترل دو موتور DC...!
من برنامه میکرو رو هم با بسکام نوشتم...!
من برای راه اندازی موتور ها از رشته استفاده می کنم مثلا با فرستادن رشته "w" موتور یک راه اندازی میشه!این کار در Terminal بسکام با تایپ "w" و زدن اینتر به خوبی کار میکنه..!
ولی در #C این طور نیست و عمل اینتر رو با "n\" امتحان کردم نشد ولی با "\r\n" شد!!!
حالا مشکل اینجاست که این کار برای بار اول درست کار میکنه ولی برای بار دوم و سوم و... دیگه نه وقتی رشته ارسالی در مرتبه دوم رو تو LCD دیدم متوجه کاراکتر اضافی "|||" در اول رشته که بار دوم فرستادم شدم!
ممنون میشم من رو راهنمایی کنید.
$regfile = "m16def.dat"
$crystal = 8000000
$baud = 9600
Config Lcdpin = Port , Db7 = Porta.7 , Db6 = Porta.6 , Db5 = Porta.5 , Db4 = Porta.4 , E = Porta.0 , Rs = Porta.1
Enable Interrupts
Config Portd.2 = Output
Config Portd.3 = Output
Config Portd.4 = Output
Config Portd.5 = Output
Portd.2 = 0
Portd.3 = 0
Portd.4 = 0
Portd.5 = 0
Cls
Dim B As Byte
Do
Input B
Locate 1 , 1
Lcd B
Select Case B
Case Back:
Cls
Portd.2 = 1
Portd.3 = 0
Locate 1 , 1
Lcd "Back"
Waitms 50
Case Forword:
Cls
Portd.2 = 0
Portd.3 = 1
Locate 1 , 1
Lcd "Forword"
Waitms 50
Case Lef:
Cls
Portd.4 = 1
Portd.5 = 0
Locate 1 , 1
Lcd "Left"
Case Righ:
Cls
Portd.4 = 0
Portd.5 = 1
Locate 1 , 1
Lcd "Right"
Case Else:
Portd.2 = 0
Portd.3 = 0
Portd.4 = 0
Portd.5 = 0
Locate 1 , 1
Lcd "Waiting ..."
End Select
Loop
End