PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : خواندن پورت



rayan2
23-02-2012, 03:08
سلام

دوستان چطوري ميشه يك پورت رو وضعيتشو خوند؟
مثلا من از يك سوئيچ استفاده كردم كه دو تا وضعيت صفر و يك رو به يكي از پورت ها ميده.حالا ميخوام تو دستور شرطيم (if) وضعيت اون پورت رو چك كنم و ...

راستي من از lpc2132 استفاده ميكنم.تو پروتيوس كه ميكرو رو آوردم همه پايه هاي پورت هاي P1ها set هستند چرا؟ با دستور IO1CLR=0XFFFF; هم خاموش نميشن!!!!!!!!!!!!!!

بخدا اعصابم خورده

esi_52000
23-02-2012, 15:32
سلام داداشم .
توی این سری از میکروها میتونی از رجیستر IOxPIN وضغیت پایه های یک پورت رو بخونی.
مثلا اگه میخوایی چک کنی که ببینی پین 12 از پورت 1 چه وضعیتی داره و اگه مثلا 1 بود یک کاری رو انجام بده اینطوری بنویس



if(IO1PIN&0X1000)

اینم که میبینی پایه ها توی پروتیوس 1 هستشش واسه اینه که در حالت پیش فرض تمام پایه ها PULL UP هستند.میتونی با رجیستر PINMODE پینها رو به حالت دلخواهت ببری.
راستی توی مثال بالا عدد 0X1000 از اینجا اومده .0X1000=0B00000000000000000001000000000000
:mrgreen:

rayan2
23-02-2012, 17:24
آقا تشكر
من يه سوئيچ به پايه p0.0 وصل كردم حالا كه ميخوام با تغغير سوئيچ حالت پايرو بخونم موفق نشدم.

خواستم با يك شدن پايه p0.0 پايه ي p0.1روشن بشه و با صفر شدن او پايه po.1خاموش شه
تورو خدا اينو يه نگاهي بندازين خيلي سادستا!!

esi_52000
23-02-2012, 20:07
سلام مجدد دادشم.
ببین این برنامه رو کامپایل کن وبریز رو میکرو.
دادا فکر کنم باید یه خورده تو برنامه نویسی بیشتر دقت کنی.
آخه زیاد اشتباه داشت برنامه .بخدا قصد جسارت نیستا.


#include<lpc21xx.h>
main()
{
int i;
int j;
IO0DIR=0X0002;
while(true)
{

if((IO0PIN & 0X0001)==1)
{
for(j=0;j<2000000;j++)
IO0SET=0X0002;
}
else
{
for(j=0;j<2000000;j++)
IO0CLR=0X0002;
}
}
}

rayan2
24-02-2012, 12:58
ممنون عزيز

اشكالشو فهميدم.راستش اون روز خيلي كار كرده بودم واقعا خسته بودم.اونم كه ميبيني اون همه خط نوشتم ديگه هر راهي رو رفته بودم كه به اونجا رسيده بودم!!!
اشكال اين بود كه دوتا && گذاشته بودم!!!!

راستش من زياد كار نكردم اين اولين بارمه كه درستو حسابي پايه arm نشستم.
بازم ممنون

mzarkoob
24-02-2012, 13:26
خوب خدا رو شکر حل شد ولی این موارد قبلا برای دیگران پیش اومده مطرح کردند و حل شده. بهتر است قبلش یه سرچ کوچولو بکنید:
مشکل در استفاده از مد ورودی - ایـــــــــران میـــــــکرو ™ (You can see links before reply)