امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
خالی کردن بافر صفحه کلید
نویسنده پیام
bootshow آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۸۷

تشکرها : 4
( 5 تشکر در 2 ارسال )
ارسال: #1
خالی کردن بافر صفحه کلید
در بسکام چطوری میشه بافر صفحه کلید را خالی کرد؟
صفحه کلید کامپیوتر را به Atmega32 وصل کردم.اولین کلید کیبورد را بدرستی میخواند ولی برای خواندن کلید دوم مشکل دارد.در بافر صفحه کلید کدهای قبلی میماند و خالی نمیشود.
۱۱-مهر-۱۳۸۹, ۱۵:۵۸:۲۳
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: خالی کردن بافر صفحه کلید
چجوری می خونی ؟
برنامتو بذار !

اون کدی که تو هلپ بسکام گذاشته رو استفاده کنی به مشکلی بر نمی خوری !!
حداقل واسه من که عالی کار کرد !!!
۱۱-مهر-۱۳۸۹, ۱۶:۰۳:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : رسول
bootshow آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۸۷

تشکرها : 4
( 5 تشکر در 2 ارسال )
ارسال: #3
RE: خالی کردن بافر صفحه کلید
کد php:
Function Readonkey() As Byte
Dim Kb 
As Byte
Dim Kb2 
As Byte
 
Do
 
Kb Getatkbd()
 If 
Kb <> 0 Then Kb2 Kb
 Loop Until Kb 
0
 Kb 
Getatkbd()
 
Readonkey Kb2
End 
Function
Change_text:'interrupt
Dim Kk As Byte
Strkey = ""
Kk = Readonkey()
Strkey = Chr(kk )
Return 

بعدا Strkey باید روی تابلو نمایش داده بشه.
بعد از Loop دستور Getatkbd را نوشتم که بعضی از مشکلات حل شد.چون وقتی که کلید را ول میکنیم کد صفر و سپس دوباره همان کد قبلی فرستاده میشود.ولی نمیدونم چرا باز هم مقداری داده در بافر صفحه کلید میماند و کدهای کلید قبلی خوانده میشود.
شاید هم مدار مشکل داشته باشه؟

در ضمن چرا بدرستی از وقفه خود کیبورد برای خواندن از صفحه کلید نمیشه استفاده کرد؟
پایه کلاک را به int0 و data را به portd.4 وصل کردم.
ربطی به pull up داره؟
(آخرین ویرایش در این ارسال: ۱۱-مهر-۱۳۸۹, ۱۸:۴۵:۰۳، توسط t3r!p3000.)
۱۱-مهر-۱۳۸۹, ۱۷:۲۲:۰۰
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #4
RE: خالی کردن بافر صفحه کلید
ما که اون دقیما به تابلو روان درست کردیم واسه خوندن صفحه کلید تابع زیر رو نوشته بودم و عملکردش خوب بود !!
نکته : من با اینتراپ کار کردم !!

کد php:
Get_data:

   
Getatkbd() : Disable Int0 Gosub Set_timer

   
If 13 Then :

      
Gosub Show_ss Start Timer1 Gosub Flash
      
Do
         Do
            
Getatkbd()
         
Loop Until C <> 0
         Gosub Set_timer
         
If 31 And 127 Then :
            
Len(ss)
            If 
255 Then :
                  
Ss Ss Chr(c) : Gosub Show_ss
            End 
If
         Elseif 
8 Then :
            
Len(ss) :
            If 
1 Then :
               
Decr B Ss Left(ss B)
            Elseif 
1 Then :
               
Ss Chr(0)
            
End If
            
Gosub Show_ss
         
Elseif 13 Then :
            
Ess Ss Stop Timer1 Gosub Show_ss Gosub R_l_c Disable Interrupts
         End 
If
      
Loop

   
Elseif 47 And 58 Then :
      If 
48 Then Speed 2
      
Elseif 49 Then Speed 4
      
Elseif 50 Then Speed 7
      
Elseif 51 Then Speed 12
      
Elseif 52 Then Speed 20
      
Elseif 53 Then Speed 40
      
Elseif 54 Then Speed 65
      
Elseif 55 Then Speed 100
      
Elseif 56 Then Speed 150
      
Elseif 57 Then Speed 225
      End 
If
      
Espeed Speed
   End 
If
   
Enable Int0

Return


Kbdinput:
   
$asm
   push r16           
save used register
   push r25
   push r26
   push r27

   Kbdinput1
:
   
rCall _getatkbd   call the function
   
tst r24           check for zero
   breq Kbdinput1     
yes so try again
   pop r27           
we got a valid key so restore registers
   pop r26
   pop r25
   pop r16
   $end Asm
Return

Getatkbd()

Table_key:

Data 0 200 , &H5E 0
Data 0 
113 49 122 115 97 119 50 0
Data 0 
99 120 100 101 52 51 32 118 102 116 114 53 0
Data 0 
110 98 104 103 121 54 44 109 106 117 55 56 0
Data 0 
44 107 105 111 48 57 46 45 108 48 112 43 0
Data 0 
92 13 92 0
Data 0 
60 49 52 55 0
Data 48 
44 50 53 54 56 43 51 45 42 57 0

Data 0 
0
Data 0 
81 33 90 83 65 87 34 0
Data 0 
67 88 68 69 35 32 86 70 84 82 37 0
Data 0 
78 66 72 71 89 38 76 77 74 85 47 40 0
Data 0 
59 75 73 79 61 41 58 95 76 48 80 63 0
Data 0 
96 13 94 42 0
Data 0 
62 49 52 55 0
Data 48 
44 50 53 54 56 43 51 45 42 57 
۱۱-مهر-۱۳۸۹, ۱۸:۴۴:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, bootshow, رسول
bootshow آفلاین
تازه وارد

ارسال‌ها: 6
موضوع‌ها: 1
تاریخ عضویت: بهمن ۱۳۸۷

تشکرها : 4
( 5 تشکر در 2 ارسال )
ارسال: #5
RE: خالی کردن بافر صفحه کلید
کار Set_timer چیه؟
چرا از Start Timer1 استفاده کردید؟
االبته بگم رشتم برنامه نویسی کامپیوتره.
۱۱-مهر-۱۳۸۹, ۱۹:۰۹:۴۷
ارسال‌ها
پاسخ
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #6
RE: خالی کردن بافر صفحه کلید
اونها رو ولش کن !

با اسکن تابلو و همینطور چشمک زدن متن بودش !
مثل blink که تو نرم افزارهای ویرایش میاد !!!
۱۱-مهر-۱۳۸۹, ۱۹:۱۱:۰۹
ارسال‌ها
پاسخ
تشکر شده توسط : reza555, رسول


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] ایجاد موج مربعی با دو کلید و نماش فرکانس در ال سی دی mamadr 0 2,041 ۰۹-تير-۱۳۹۶, ۱۶:۲۰:۲۹
آخرین ارسال: mamadr
  با میکرو یک کلید 220 رو کنترل کنیم saeidjan 7 13,676 ۱۹-بهمن-۱۳۹۴, ۱۰:۵۴:۱۵
آخرین ارسال: sharin
  [سوال] طریقه وصل کردن کلید به میکرو mehdisb 3 3,746 ۱۷-آذر-۱۳۹۳, ۲۲:۴۰:۲۸
آخرین ارسال: parsegade
  کمک برای وصل کلید و پرش به برنامه های مختلف sinohe 8 5,475 ۱۶-آبان-۱۳۹۳, ۱۶:۲۰:۱۱
آخرین ارسال: sadegh1rezaei
  سوال یا یک کلید led 5 رو روشن کنم. s.h.h 5 3,283 ۲۷-شهریور-۱۳۹۳, ۱۶:۵۸:۲۶
آخرین ارسال: a.mehran
  مشکل با وصل کردن صفحه کلید به میکرو dfmmob 33 30,074 ۲۱-مرداد-۱۳۹۳, ۰۹:۲۹:۳۶
آخرین ارسال: pooramin
  [سوال] بافر سریال farshad1195 0 1,531 ۳۰-مهر-۱۳۹۲, ۱۸:۱۱:۳۶
آخرین ارسال: farshad1195
  ایجاد تاخیر در کلید a.mehran 11 7,406 ۰۸-مهر-۱۳۹۲, ۱۵:۵۶:۰۲
آخرین ارسال: a.mehran
  تعویض برنامه فلاشر با یه کلید فشاری رسول21 4 5,742 ۳۱-خرداد-۱۳۹۲, ۲۳:۴۱:۱۴
آخرین ارسال: رسول21
  شمارنده 3 رقمی با کلید و lcd متنی taghdir 2 5,069 ۳۱-فروردین-۱۳۹۲, ۱۰:۳۵:۲۷
آخرین ارسال: taghdir

پرش به انجمن:


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

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS