امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 2
  • 1
  • 2
  • 3
  • 4
  • 5
تشخیص فشرده شدن همزمان شستی ها در کدویژن
نویسنده پیام
MicrowaveCO آفلاین
كاربر دو ستاره
**

ارسال‌ها: 129
موضوع‌ها: 28
تاریخ عضویت: تير ۱۳۸۷

تشکرها : 19
( 66 تشکر در 36 ارسال )
ارسال: #1
تشخیص فشرده شدن همزمان شستی ها در کدویژن
سلام سلام

دوباره من اومدمو با سوالات عجیب غریبم !!

اینبار موضوع اینه که میخوام اگه دوتا شستی رو همزمان فشار دادم میکرو یکاری انجام بده اما چنتا روششی که به ذهنم می رسیدو امتحان کردم نشد که نشد .

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

اومدم دوتا ورودیو باهم & کردم نشد ، && کردم نشد ، مساوی قرار دادم و بعد از ! استفاده کردم بازم نشد .

حالا بفکرم رسید که بزارمشون توی یه حلقه و با فشرده شدن هر کدم یه متغییرو 1 کنم وبعد این متغییرهارو بررسی کنم توی شرط تا متوجه بشم همزمان فشرده شدن یا نه ولی اینو هرکی ببینه از خنده مترکه .

باید یه روش اصولی هم وجود داشته باشه بلاخره !!!!
کسی مثالی ازین کار داره بزاره ؟

با تشکر
(آخرین ویرایش در این ارسال: ۲۸-اردیبهشت-۱۳۹۴, ۰۹:۵۹:۴۴، توسط MicrowaveCO.)
۲۸-اردیبهشت-۱۳۹۴, ۰۹:۵۷:۴۱
ارسال‌ها
پاسخ
EBKA آفلاین
مخترع
****

ارسال‌ها: 1,099
موضوع‌ها: 89
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1655
( 2792 تشکر در 982 ارسال )
ارسال: #2
RE: تشخیص فشرده شدن همزمان شستی ها در کدویژن
سلام.. من اگر به جای شما بودم اینکار رو میکردم که با فشردن یک کلید میره به یک حلقه که مثلا 2 ثانیه داخلشه. اگر کلید دومی رو هم زد اونوقت یه کار خاصی انجام میشه.. اسون ترین روش همینه

ابراهیم خوانین زاده
 ساعت کار بدن انسان بیشتر وقتها, کمتر از 657.000 ساعت است و بعد از آن از کار می افتد  :():کمی فکر کنیم.....

259-734

[/url]
وبلاگ من


وب سایت من
[url=http://www.ebka-intelligent.com/]
آموزش کار با rfm12b,آموزش کامل ای سی ds1307, آموزش اتصال ماژول em18,سنسور رنگ ,سنسور گاز, و ... در وبلاگ من خواهید دید



۲۸-اردیبهشت-۱۳۹۴, ۱۱:۳۷:۳۶
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : MicrowaveCO, 1نفر
MicrowaveCO آفلاین
كاربر دو ستاره
**

ارسال‌ها: 129
موضوع‌ها: 28
تاریخ عضویت: تير ۱۳۸۷

تشکرها : 19
( 66 تشکر در 36 ارسال )
ارسال: #3
RE: تشخیص فشرده شدن همزمان شستی ها در کدویژن
سلام و ممنون از جوابت

مشکل اینجاست که در حال حاظر همه شستی هام توی یه حلقه هستن و همرو دارم میخونمو هر کدوم به یه زیر برنامه پرش میکنن و بعنوان یه منوی مخفی میخوام با استفاده از دوتا شستی به یه زیر برنامه جدید برم .


از طرفی ، اگه روشی وجود داشت که میتونست بر حسب مدت زمان فشرده موندن کلید یه عمل خاصو انجام بده هم خوب میشد

مثلا اگه کلیدا رو لحظه ای زدیم به زیر برنامه خودشون برن و اگه مثلا کلید شماره 1 رو بیشتر نگه داشته بودیم بره به منوی مخفی

اینم اگه کسی ایده ای درموردش داشته باشه خیلی خوب میشه ، دنبال یه روش اصولی برای هردوتا هستم
بازم از همه ی اساتید ممنونم
۲۸-اردیبهشت-۱۳۹۴, ۱۱:۵۰:۰۰
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #4
RE: تشخیص فشرده شدن همزمان شستی ها در کدویژن
بهترین روش ، ساده ترین روش هست، طبق معمول پیچیده فکر کردن در ابتدا، شما رو به مقصد نمی رسونه ...

استفاده از یک کلید، برای چند منظور، بسته به زمان فشرده شدن:
ساده ترین ایده:
کد php:
if(key == enable)
{
    
delay_ms(100);
    if(
key != enable)
    {
        
func1();
    }
    else if(
key == enable)
    {
        while(
key == enable);
        
func2();
    }


برای زدن همزمان 2 کلید یکجا و جدا از هم:
کد php:
if(key1 == enable || key2 == enable)
{
    
delay_ms(100);
    if((
key1 == enable) & (key2 == enable))
    {
        
func1();
    }
    else if(
key1 == enable)
    {
        
func2();
    }
    else if(
key2 == enable)
    {
        
func3();
    }
    while(
key1 key2);


موفق باشید.

۲۸-اردیبهشت-۱۳۹۴, ۱۲:۴۷:۱۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : MicrowaveCO, 1نفر
MicrowaveCO آفلاین
كاربر دو ستاره
**

ارسال‌ها: 129
موضوع‌ها: 28
تاریخ عضویت: تير ۱۳۸۷

تشکرها : 19
( 66 تشکر در 36 ارسال )
ارسال: #5
RE: تشخیص فشرده شدن همزمان شستی ها در کدویژن
سلام

ظاهرا نپمشکل من پایه ای تر از این حرفاس !
اول از همه بگم اون enable چیه ؟ و دو اینکه ظاهرا درست پورتام پیکربندی نشده ! البته باید درست باشه ها ولی نمیدونم چرا نیست .
میکرو ATmega8L هستش و برای شستی های ورودیم از پین های 2 ، 3 ، 4 و 5 پورت C استفاده کردم
این چورتو بصورت زیر ورودی تعیرف کردم :
DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
یعبارتی همشونو صفر کردم
بعدش اومدم مقاومت بالاش داخلیو با یک کردن رجیستر PortC فعال کردم
PORTC=(0<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

اما کلیدارو نمیخونه یا مدام یک فرضشون میکنه ؟
سخت افزارش صد در صد درسته و با یه برنامه که توی بیسکام نوشته بودم تستش کردم اما نمیدونم چرا توی کد ویژن اینطوری میکنه !
برای خوندن شستی های ورودی دستور خاصی لازمه که از نویز جلوگیری کنه یا اشتباه من کجاست !
if (!SAVE){
ee_mode = 100 ; delay_ms(20);
BUZZER=1 ; delay_ms(80); BUZZER=0 ;
}

با مساوی صفر کردن هم آزمایش کردم نشد ، کدویژن مثله بیسکام دستوری نداره که مثله Deounce بشه ازش برای خوندن استفده کرد ؟ این enable چیه ؟
دیگه واقعا دارم شاخ درمیارم بخدا :-(
۲۸-اردیبهشت-۱۳۹۴, ۱۶:۵۷:۵۱
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #6
RE: تشخیص فشرده شدن همزمان شستی ها در کدویژن
توصیه می کنم اصول ابتدایی در زبان C رو به صورت مداوم دوره و استفاده کنی تا مفاهیم خوب برات جا بیفته.
سورس کدهای موجود در اینترنت هم زیاد بخون و بررسی کن و تجزیه تحلیل کن و با سبک های کد زنی آشنا شو و علم کد زنیت رو کاربردی تر کن ...

برای ورودی کردن پایه های پورت C همین کافی هست:
کد php:
;DDRC 0x00 
برای پول آپ هر جور راحتی:
کد php:
PORTC 2<<0X0F

شما از پورت c استفاده کردید، فیوزبیت های JTAG رو غیر فعال کردید؟!
این که چی نوشتی نفهمیدم ...

تو شبه کدی که نوشتم، واضح هست دیگه:
enable وضعیت فعال پایه ها هست وقتی کلید زده شده، پول آپ کردید و با فشردن کلید پایه رو 0 می کنید پس enable = 0 هست
کد php:
#define enable 0 
key پایه ای هست که کلید بهش متصل شده ، فرض PORTC.2 ، چون می خوای وضعیتش رو بخونی و ورودی تعریف کردی باید به صورت x = PINC.2 استفاده کنی. اینجوری تعریف می شه:
کد php:
#define key PINC.2 

البته اصولش اینه KEY و ENABLE با حروف بزرگ نوشته بشن که مشخص بشه define شدن و متغییر نیستن ...

موفق باشی.

۲۸-اردیبهشت-۱۳۹۴, ۲۱:۳۱:۱۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : 1نفر


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  راه اندازی ماژول gy-955 با AVR و کدویژن hadikh73 6 7,689 ۰۴-شهریور-۱۳۹۷, ۱۲:۰۸:۲۱
آخرین ارسال: hadikh73
  ماژول pn532 و کدویژن AVR hadikh73 1 4,205 ۰۴-خرداد-۱۳۹۶, ۰۱:۲۱:۲۴
آخرین ارسال: babyy
  پیکربندی SPI نرم افزاری در کدویژن pedram032 2 3,661 ۱۷-دى-۱۳۹۵, ۲۲:۳۷:۱۴
آخرین ارسال: omid_phoenix
  [مقاله] در رابطه با تشخیص کد ریموتها parviz2012 1 3,678 ۲۷-آذر-۱۳۹۵, ۱۴:۰۵:۰۵
آخرین ارسال: safeland
  کمک در برنامه nrf24 با کدویژن sniper-70 0 2,893 ۱۹-آبان-۱۳۹۵, ۰۰:۱۶:۱۵
آخرین ارسال: sniper-70
  کمک در تشخیص علت خطا در کدویژن alikiller990 2 3,821 ۱۰-خرداد-۱۳۹۴, ۱۸:۱۷:۳۰
آخرین ارسال: alikiller990
  تفکیک عدد صحیح و اعشاری در کدویژن جهت ذخیره در EEPROM MicrowaveCO 6 5,534 ۲۶-اردیبهشت-۱۳۹۴, ۰۹:۲۵:۴۶
آخرین ارسال: sharin
  کمک در مورد سنجش زمان توسط تایمر 0 و 1 در مگا 8 و کدویژن MicrowaveCO 6 5,155 ۰۸-اردیبهشت-۱۳۹۴, ۱۵:۵۳:۰۷
آخرین ارسال: MicrowaveCO
  [مقاله] آموزش بیسکام و کدویژن با پروژه های عملی ( بدون جزوه و فیلم ) aKaReZa75 106 89,947 ۱۷-فروردین-۱۳۹۴, ۱۷:۳۹:۴۲
آخرین ارسال: amoosa
  [سوال] نحوه تشخیص پایه های سنسور اولتراسونیک silent70un 6 9,981 ۲۶-بهمن-۱۳۹۳, ۱۲:۵۷:۵۷
آخرین ارسال: student123

پرش به انجمن:


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

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