من می خوام با دستور 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