Gerçek zamanlı özellikli uygulamalarda GPO'ları kullanma

Azure Sphere GPO'ları (genel amaçlı giriş/çıkış) destekler. GPIO, tümleşik devrede programlanabilir dijital pin türüdür. GPO'ların önceden tanımlanmış işlevleri yoktur ve davranışları bir uygulama tarafından özelleştirilebilir. GPO'ların yaygın kullanımlarından bazıları donanım cihazlarının durumunu değiştirmek, LED'leri denetlemek ve anahtarların durumunu okumaktır.

Bu konuda, GPO'ların gerçek zamanlı özellikli bir uygulamada (RTApp) nasıl kullanılacağı açıklanmaktadır. Üst düzey uygulamalarda GPO'ları kullanma hakkında bilgi için bkz. Üst düzey uygulamalarda GPO'ları kullanma.

RTApp, Azure Sphere cihazındaki GPO'lardan herhangi birini kullanabilir. GPIO için aşağıdaki işlemler desteklenir:

  • Girişi okuma
  • Çıkışı yüksek veya düşük olarak ayarlama
  • Yoklama yazılımı kesintileri

Not

Azure Sphere işletim sistemi, başlatmada çevre birimlerini sıfırlamaz. Uygulamalarınız, çevre birimlerinin başlatma sırasında ve yeniden başlatıldıktan sonra iyi durumda olduğundan emin olmalıdır.

Gerçek zamanlı çekirdeklerde GPO'lar için MT3620 desteği

MT3620'de GPO'ların çoğu GPIO 0'dan başlayarak dört bloktaki gerçek zamanlı çekirdeklerle eşlenir; ancak, ISU blokları 0 - 4 beş GPO'ya sahiptir. Sonuç olarak, üst düzey bir uygulama (veya başka bir RTApp) aynı blokta bir GPIO isterse RTApp GPIO istekleri başarısız olabilir. Örneğin, üst düzey bir uygulama GPIO 8 ve RTApp GPIO 9 isterse, ikinci uygulama dağıtımda bir hata döndürür.

MT3620 RDB üzerindeki her LED üç GPO'ya eşler: her biri kırmızı, yeşil ve mavi kanallar için birer tane.

Temel adresleri kaydetme, kesme numaraları, saat hızı, örnekleme sıklığı ve MT3620 hakkındaki diğer ayrıntılar için bkz. MT3620 Veri Sayfası ve MT3620 M4 Kullanım Kılavuzu; sorularınız kalırsa, e-posta ile Azure.Sphere@avnet.comAvnet'ten ayrıntıları isteyebilirsiniz.

GPIO Gereksinimleri

Uygulama kodunuz GPIO'yu ve yazmaçlarını tanımlamak için bir yönteme ihtiyaç duyar. Yazmaç temel adresini üreticinin donanım belgelerinde bulabilirsiniz. RTApp'inizin gpio kullanabilmesi için önce kullanacağını blokları başlatması gerekir. Başlatma, uygulamanın kullandığı her blok için yalnızca bir kez gereklidir.

MT3620 hakkında ayrıntılı bilgi için bkz. Gerçek zamanlı çekirdeklerde GPO'lar için MT3620 desteği.

Uygulama bildirimi ayarları

GPIO kullanmak için RTApp'in bunu uygulama bildiriminin Özellikler bölümünde listelemesi gerekir. Hedef donanım için JSON dosyasında tanımlanan "AppManifestValue" öğesini kullanarak GPIO'yu tanımlayın. Örneğin, aşağıdaki satır GPO 8 ve 12'yi ayırır:

"Capabilities": {
 "Gpio": [ 8, 12 ]
}

GPIO örnek uygulaması

GPIO örneği, RTApp'te GPO'ların nasıl kullanılacağını gösterir. BENİOKU dosyaları ayrıntıları ve yönergeleri sağlar.