PIC16F877 üzerinde denemeler yaparken PORTA‘yı her yazışımda sıfırlandığını gördüm. Örneğin aşağıdaki kod çalıştıktan sonra yanık kalan tek led PORTA.1‘e bağlı olandı. PORTA‘nın herhangi bir bitine yeni bir değer yazıldığında diğer tüm bitler sıfırlanıyordu. Diğer taraftan PIC16F877‘nin diğer portları aynı davranışı sergilemedi.
1 2 3 4 5 6 |
Device = 16f877 PortA.0 = 1 PortA.1 = 1 End |
Henüz yeni olduğum PIC programlama konusunda araştırma yaparken buradaki güzel örneği gördüm. Tam da aradığım kod. PORTA‘yı çıkış olarak süren bir örnek. Kodda görebileceğiniz gibi All_Digital = True PBP direktifi ile tüm çıkışlar dijital giriş/çıkışa hazır hale getiriliyor. Bu direktif makine kodunda binde 2’lik gibi artışa neden oldu. All_Digital direktifi ile PORTA’nın sıfırlanması sorunu ortadan kalktı.
1 2 3 4 5 6 7 |
Device = 16f877 All_Digital = True PortA.0 = 1 PortA.1 = 1 End |