Ahmet
S38>S85
- Katılım
- 31 Mayıs 2021
- Mesajlar
- 6,096
RP2040 Datasheet'ine bakınca işlemcinin 2 çekirdekli oldupuğunu görüyoruz.
Peki biz 2 çekirdeği nasıl kullanacağız.
2 çekirdek demek birbirinden bağımsız 2 işlemcinin aynı paket içine girdiği bir durum gibi düşünebiliriz.
Yani eş zamanlı 2 işlem yapabiliyoruz.
Bu programı pico kartımıza yüklüyoruz.
Daha sonra seri portumuzu 9600 baud değerinde başlatıyoruz hem seri porta hemde kartın üstüne göz atıyoruz 5 saniye aralıklarla kartın blink yaptıpğını göreceğiz bu blink'den bağımsız olarak seri porta veri yazdığınıda görmüş olacağız.
Eğer bu programı tek çekirdeki bir işlemci'de çalıştırsaydınız seri porta veri yazma aralığı 350ms değil 10 saniye olmuş olacaktı çünkü tek çekirdekli işlemciler aynı anda sadece tek bir işlem yürütebilir.
Peki biz 2 çekirdeği nasıl kullanacağız.
2 çekirdek demek birbirinden bağımsız 2 işlemcinin aynı paket içine girdiği bir durum gibi düşünebiliriz.
Yani eş zamanlı 2 işlem yapabiliyoruz.
Kod:
//--------------------ÇEKIRDEK 1-------------------
void setup() {
pinMode(25, OUTPUT);
}
void loop() {
delay(5000);
digitalWrite(25, HIGH);
delay(5000);
digitalWrite(25 LOW);
}
//--------------------ÇEKIRDEK 1-------------------
//--------------------ÇEKIRDEK 2-------------------
void setup1() {
Serial.begin(9600);
}
void loop1() {
Serial.println("MEKATRONIK FORUM");
delay(350);
}
//--------------------ÇEKIRDEK 2-------------------
Bu programı pico kartımıza yüklüyoruz.
Daha sonra seri portumuzu 9600 baud değerinde başlatıyoruz hem seri porta hemde kartın üstüne göz atıyoruz 5 saniye aralıklarla kartın blink yaptıpğını göreceğiz bu blink'den bağımsız olarak seri porta veri yazdığınıda görmüş olacağız.
Eğer bu programı tek çekirdeki bir işlemci'de çalıştırsaydınız seri porta veri yazma aralığı 350ms değil 10 saniye olmuş olacaktı çünkü tek çekirdekli işlemciler aynı anda sadece tek bir işlem yürütebilir.