دوستان خسته نباشید.
یه پروژه سنگین رو انجام دادم فقط مونده آخرین قسمتش و واقعا توش موندم و خسته شدم. پروژه با بسکام نوشنه شده.
این قسمت پروژه یک مدار هستش که از مگا 128 و ESP8266 تشکیل شده که با uart1 به ماژول وای فای وصله و با Uart1 از طریق MAX232 به یه پرینتر حرارتی سامسونگ سریال.
این مدار به یک نرم افزار به عنوان کلاینت وصل میشه و تو شرایطی دیتای پرینت برای مدار ارسال میشه که میتونه 300 تا 800 بایت باشه. خوب من با فرستادن کلمه پرینت و مکث 30 میلی ثانیه ای دیتای پرینت رو هم میفرستم. سمت میکرو بعد دریافت کلمه پرینت یک منغییر رو یک میکنم و به قسمت دریافت دیتا میرم. با شرط هایی دیتای کدهای اول AT Command ماژول رو نادیده میگیرم و بعد بایت به بایت با تاخیر 800 میکرو ثانیه بایت دریافتی رو به Uart0 ارسال میکنم.
اما مشکل اینجاست با وجود کارکرد مناسب بعد چندین بار دریافت دیتای پرینتر میکرو میره واسه خودش! HWstack و SWstack و frame size هم تغییر دادم و حتی تا 1024 هم بردم ولی فقط تعدا بیشتری چاپ میده و بعد هنگ مینه. باودریت های مختلف رو هم تست کردم برای اتصال به وای فای ولی باز با کمی تغییر مشکل پا برجاست.
این قسمتی از کد هستش. حتی بافر سریال رو هم خالی میکنم باز فرقی نداره حتی خط ارسال به uart0 رو هم بر میدارم باز هنگ میکنه. توی چرخه دریافت کاری باید بکنم؟
یه پروژه سنگین رو انجام دادم فقط مونده آخرین قسمتش و واقعا توش موندم و خسته شدم. پروژه با بسکام نوشنه شده.
این قسمت پروژه یک مدار هستش که از مگا 128 و ESP8266 تشکیل شده که با uart1 به ماژول وای فای وصله و با Uart1 از طریق MAX232 به یه پرینتر حرارتی سامسونگ سریال.
این مدار به یک نرم افزار به عنوان کلاینت وصل میشه و تو شرایطی دیتای پرینت برای مدار ارسال میشه که میتونه 300 تا 800 بایت باشه. خوب من با فرستادن کلمه پرینت و مکث 30 میلی ثانیه ای دیتای پرینت رو هم میفرستم. سمت میکرو بعد دریافت کلمه پرینت یک منغییر رو یک میکنم و به قسمت دریافت دیتا میرم. با شرط هایی دیتای کدهای اول AT Command ماژول رو نادیده میگیرم و بعد بایت به بایت با تاخیر 800 میکرو ثانیه بایت دریافتی رو به Uart0 ارسال میکنم.
اما مشکل اینجاست با وجود کارکرد مناسب بعد چندین بار دریافت دیتای پرینتر میکرو میره واسه خودش! HWstack و SWstack و frame size هم تغییر دادم و حتی تا 1024 هم بردم ولی فقط تعدا بیشتری چاپ میده و بعد هنگ مینه. باودریت های مختلف رو هم تست کردم برای اتصال به وای فای ولی باز با کمی تغییر مشکل پا برجاست.
[FONT=Yekan]Stream:[/FONT] Do
[FONT=Yekan] If Ischarwaiting(#2) = 1 Then[/FONT]
Do
A = Inkey(#2)
If Stream_data = 0 Then
Mystr = Mystr + Chr(a)
Waitms 2
Else
Waitus 800
If A = &H1B Then 9charfix = 1
If 9charfix = 1 Then Printbin #1 , A
If Ischarwaiting(#2) = 0 Then
Stream_data = 0
9charfix = 0
Clear Serialin1
End If
End If
Loop Until Ischarwaiting(#2) = 0
'---------------------------------------
If Instr(mystr , "Print") <> 0 Then
[FONT=Yekan] Stream_data = 1[/FONT]
[FONT=Yekan] Goto Stream[/FONT]
End If
این قسمتی از کد هستش. حتی بافر سریال رو هم خالی میکنم باز فرقی نداره حتی خط ارسال به uart0 رو هم بر میدارم باز هنگ میکنه. توی چرخه دریافت کاری باید بکنم؟
دیدگاه