من می خوام با دستور if مقدار جند پورت رو چک کنم اما نمیشه ککککککککککککککککککککککککک ممممممممممممممممممممممممم مککککککککککک !!!
این هم برنامه
#include <AT91SAM7X256.H>
#include <delay.h>
#include <pio.h>
int main(void)
{
PORTB_INPUT= PB0;
PORTB_INPUT= PB1;
PORTB_INPUT= PB2;
PORTB_INPUT= PB3;
PORTB_INPUT= PB4;
PORTB_INPUT= PB5;
PORTB_INPUT= PB6;
PORTB_INPUT= PB7;
PORTB_INPUT= PB8;
PORTB_INPUT= PB9;
PORTB_INPUT= PB10;
PORTB_INPUT= PB11;
PORTB_INPUT= PB12;
PORTB_INPUT= PB13;
PORTB_INPUT= PB14;
PORTB_INPUT= PB15;
PORTB_INPUT= PB16;
PORTB_INPUT= PB17;
PORTB_INPUT= PB18;
PORTB_INPUT= PB19;
PORTB_INPUT= PB20;
PORTB_INPUT= PB21;
PORTB_INPUT= PB22;
/*PULL_UP_B= 0x07FFFFF; */
PORTB_OUTPUT= PB23;
PORTB_OUTPUT= PB24;
RST_PORTB= PB23;
RST_PORTB= PB24;
while(1)
{
/*if (PINB(0)==0 && PINB(1)==1 && PINB(2)==1 && PINB(3)==1 && PINB(4)==1 && PINB(5)==1 && PINB(6)==1 && PINB(7)==1 && PINB(8)==1 && PINB(9)==1 && PINB(10)==1 && PINB(11)==1 && PINB(12)==1 && PINB(13)==1 && PINB(14)==1 && PINB(15)==1 && PINB(16)==1 && PINB(17)==1 && PINB(18)==1 && PINB(19)==1 && PINB(20)==1 && PINB(21)==1 && PINB(22)==1 ){
SET_PORTB= PB23;
SET_PORTB= PB24;}
if (PINB(0)==1 && PINB(1)==0 && PINB(2)==0 && PINB(3)==0 && PINB(4)==0 && PINB(5)==0 && PINB(6)==0 && PINB(7)==0 && PINB(8)==0 && PINB(9)==0 && PINB(10)==0 && PINB(11)==0 && PINB(12)==0 && PINB(13)==0 && PINB(14)==0 && PINB(15)==0 && PINB(16)==0 && PINB(17)==0 && PINB(18)==0 && PINB(19)==0 && PINB(20)==0 && PINB(21)==0 && PINB(22)==0 ){
SET_PORTB= PB23;
SET_PORTB= PB24;} */
if (PINB(0)==0
PINB(1)==0){
RST_PORTB= PB23;
RST_PORTB= PB24;}
if (PINB(0)==1
PINB(1)==1){
SET_PORTB= PB23;
SET_PORTB= PB24;}
};
}
با سلام
من با pio.h کار نکردم ولی اگر رجیستر ورودی پایه ها رو میخوندی خیلی راحت تر بود و کلی از محاسباتت کاسته میشد
منظورتون رو واضح تر مطرح کنید
کمنت
لطفا" جواب بدید خیلی گیر کردم
وقتی از یک پایه به عنوان ورودی استفاده میکنی باید کلاکشو فعال کنی.
*at91c_pmc_pcer= (1 << at91c_id_piob); برای پورت ب
این پروژ را هم نگا کنید.
ویرایش توسط shahrivar88 : 24-03-2013 در ساعت 03:57