arkadaşlar bu kodda nerede yanlıslık var

Başlatan atioky_216, 20 Nisan 2011, 22:56:07

atioky_216

#include "msp430g2231.h" // MSP430G2231 Kütüphanemiz
int main( void ) // Ana Fonksiyon
{
int i,a;
int sayilar1[] = {0x01,0x02,0x04,0x08};
int sayilar2[] = {0x08,0x04,0x02,0x01};
WDTCTL = WDTPW + WDTHOLD; // WDT Kapalı
P1DIR = 0x0F; // Pic kullananlar bilir Tiris Komutu, yani hangi bitin giriş hangi bitin çıkış olacağını belirtir. 0xFF = 11111111
while(1) // Sonsuz Döngü Program sürekli tekrar edicek
{
for(a = 0; a < 10;a++){
for(i = 0; i < 4;i++){
P1OUT = sayilar1;
__delay_cycles(100000);
P1OUT = 0x00;
__delay_cycles(100000);
}
}
for(a = 0; a < 10;a++){
for(i = 0; i < 4;i++){
P1OUT = sayilar2;
__delay_cycles(100000);
P1OUT = 0x00;
__delay_cycles(100000);
}
}
}
}

Ha ha bir süre Cye ara vermiştimMATLAB kullanıyordum harıl harıl yaptığım yanlışa bakın

MATLAB  for  i=1: .1: 100      ;// i=1 den .1 artımla 100e gel

C            for(i=0;i<101;i++)  //  bu i lerin konumunu karıştırmışım.

konjuge

çıkışlara verdiğin sayilar1 ve sayilar2 için i değişkenini kullanmayı unutmuşsun

scaemteitn

hımm evet

P1OUT = sayilar1 ;   //şeklinde olması gerekli.

atioky_216

Kodun son çalışan hali  ::)

#include "msp430g2231.h" // MSP430G2231 Kütüphanemiz

int main( void ) // Ana Fonksiyon
{
int i,a;
int sayilar1[] = {0x01,0x02,0x04,0x08};
int sayilar2[] = {0x04,0x02,0x01,0x08};
//Binary yazmanın bir şeyi değişrimeyeceğini belirtmek için bu şekilde de yazdım aynı hexa değerleri
WDTCTL = WDTPW + WDTHOLD; // WDT Kapalı
P1DIR = 0x0F; // Pic kullananlar bilir Tiris Komutu, yani hangi bitin giriş hangi bitin çıkış olacağını belirtir. 0xFF = 00001111
while(1) // Sonsuz Döngü Program sürekli tekrar edicek
{
for(a = 0; a < 3;a++){
 
for(i = 0; i < 4;i++){
P1OUT = sayilar1;
__delay_cycles(100000); // .1 sn geciktirdim 1Mz/10^5 = 10Hz
P1OUT = 0x00;
__delay_cycles(100000); // .1 sn geciktirdim 1Mz/10^5 = 10Hz
}

}
for(a = 0; a <3;a++){
for(i = 0; i < 4;i++){
P1OUT = sayilar2;
__delay_cycles(100000); // .1 sn geciktirdim 1Mz/10^5 = 10Hz
P1OUT = 0x00;
__delay_cycles(100000); // .1 sn geciktirdim 1Mz/10^5 = 10Hz
}
}
}
}

serdarünal

evet s ayilar1 ve sayilar2 için i değişkenini kullanman lazım.. ;)
imzam yok..

atioky_216

ya aslında çalıştıralı baya oldu.Onda değişkeni vardı ama buraya yapıştırıren kaybolmuş.Herhalde eskisini yapıstırmısım.Sorun cozuldu.Tesekkur ederim