Yazılım mühendisi olarak tam zamanlı bir işim var. Yakın zamanda GPIO yapılandırmalarını gözden geçirme ve ayarları gerektiği gibi değiştirme görevim verildi. Yanlış yapılandırılmış birkaç pim buldum, doğal olarak onları yeniden yapılandırdım, ancak yanlış sırayla yaptığım söylendi. İşte bahsettiğim şey:
Önce:
GPIO1.direction = INPUT;Sonra:
GPIO1.direction = ÇIKIŞ;
GPIO1.değer = 0;
Ancak kod inceleme sırasında başlatma sırasını aşağıdaki şekilde değiştirmeniz gerektiği söylendi:
GPIO1.değer = 0;
GPIO1.direction = ÇIKIŞ;
Başka bir deyişle, önce değeri ve sonra da pimin yönünü ayarlayın. Aynı zamanda modern işlemcilerde böyle olması gerektiği söylendi çünkü biri giriş, diğeri çıkış için iki kayıt kullanıyorlar, ancak eski işlemciler yalnızca bir kayıt kullanıyor, bu nedenle işlem sırası önemli değil.
(Not: Modern = ARM Cortex M3 ve üstü, Eski = Intel 8051)
İş yerinde daha iyi bir açıklama istedim, ancak iyi bir cevap alamadım. Bu yüzden burada sormaya karar verdim.
Sorularım işte burada:
- Başlatma sırası yeni işlemcilerde neden önemlidir?
- Başlatma sırası eski işlemcilerde neden önemli değil?
- Modern işlemcilerde hangi iki kayıttan bahsediyorlar?
- Eski işlemcilerden hangi tek kayıttan bahsediyorlar?
Birisi bir çeşit diyagram sağlayabilirse, bu daha da iyi olurdu.