Picproje Elektronik Sitesi

DERLEYİCİLER => CCS C => Konuyu başlatan: Recep METE - 24 Nisan 2014, 09:20:29

Başlık: İki sorum olacak.
Gönderen: Recep METE - 24 Nisan 2014, 09:20:29
Sorumun birincisi;"port_b_pullups(true);"  sadece b portu için mi geçerlidir.port_c_pullups(true);port_d_pullups(true);port_e_pullups(true); şeklinde komutu değiştirince derleyici hata veriyor.

İkinci sorum;"sleep();" komutundan çıkmak için sadece "watchdog" komutlarını mı kullanmalıyım.Başka türlü  pici uykudan uyandırmaz mıyım.
Başlık: Ynt: İki sorum olacak.
Gönderen: Kabil ATICI - 24 Nisan 2014, 09:37:12
Kullandığın işlemcinin veri kağıdından kesme fonksiyonlarına bak...
Başlık: Ynt: İki sorum olacak.
Gönderen: SpeedyX - 24 Nisan 2014, 09:38:20
Cevap 1 ve 2:
CCS -> Help
https://www.ccsinfo.com/forum/viewforum.php?f=1 (https://www.ccsinfo.com/forum/viewforum.php?f=1) -> Search
picproje.org -> Ara
Başlık: Ynt: İki sorum olacak.
Gönderen: Tagli - 24 Nisan 2014, 09:41:14
Hangi bacaklarda pullup dirençleri olduğu işlemci donanımına göre değişir ve haliyle derleyici de buna uyar. 16 serisi PIC'lerde genelde sadece B portunda pullup dirençleri olur. Ayrıntılı bilgi için datasheet'e bakmalısın.

Uykudan çıkmanın genel olarak iki yolu vardır: Ya uykudayken WDT taşmalı, ya da bir kesme gelmeli. Donanıma göre değişmekle birlikte, önemli olan şey uykuda sistem clock'larının kapalı olması. Bu sebeple her donanım kesme oluşturamayabilir. Mesela timer modülleri harici clock kullanmıyorlarsa kesme oluşturamazlar çünkü uykuda çalışmazlar. Ama 16 serilerinde genelde RB0'a bağlı harici kesme PIC'i uykudan uyandırabilir. Global kesmelerin açık olup olmaması göre, PIC uyandıktan sonra kaldığı yerden devam edebilir veya kesme koduna atlayabilir (global kesmeler kapalıysa bile kesme geldiğinde PIC uyanır).