Arduinos, neredeyse yirmi yıldır tercih edilen mikrodenetleyici platformu olmuştur, esasen küçük mikro denetleyicilerin kurulum ve alt düzey işlevlerinin çoğunu mantıklı IDE’ler ve kullanım kolaylığı lehine soyutlamıştır. Bu, veri sayfalarında saatler veya günler geçirmek istemeyen insanlara uygun fiyatlı mikro denetleyiciler açtı, ancak aynı zamanda bu kullanışlı alt düzey işlevlerden bazılarını da gizledi. Ama onları araştırmak isterseniz, hala her şeyin altında çalışıyorlar. [Jim] bize gösterir kesintilerle ilgili bir dizi yazının bu sonuncusunda.
Bu nasıl yapılır için, [Jim] çeşitli hızlarda doğrusal zaman kodlarının (LTC’ler) kodunu çözmektir. Bu veriler genellikle ses olarak iletilir, bu nedenle mikro denetleyiciden gelen yanıtın hızlı olması gerekir. Verilerin kodunun düzgün bir şekilde çözüldüğünden emin olmak için ilk ayarlanacak olan gelen sinyalde kenar algılamadır. Bu, özellikle kesmeleri kullanmakla ilgili olduğundan, Arduino’daki tek bir pim, bu kenarlarda bir kesmeyi tetiklemeye adanmıştır. Projenin geri kalanı, bir kesme hizmeti rutini oluşturmayı, saat sinyalini algılamayı ve ardından alınan LTC’yi küçük bir ekranda görüntülemek için gerekli tüm işlemleri yapmayı içerir.
Proje sayfası, doğru bir şekilde kurulması için yapılması gereken tüm matematik de dahil olmak üzere tüm bunlar hakkında ayrıntılı bilgi verir. Kesintilerin genel kullanımı söz konusu olduğunda, bu mikro denetleyicilerin alt düzey işlevselliğini kullanmak için mükemmel bir astardır. Ve, bundan önceki diğer iki projeyi görmek isterseniz, kesinlik ve doğrulukla ilgili ilk özellikte ve protokolün kendisini bit-banging ile ilgili ikinci özellikte bulunabilirler.
Kaynak : https://hackaday.com/2022/09/19/the-inner-machinations-of-the-arduino-are-an-enigma/