Picproje Elektronik Sitesi

DERLEYİCİLER => Microchip MPLAB C serisi => Microchip C18 => Konuyu başlatan: justice_for_all - 21 Kasım 2010, 22:22:40

Başlık: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: justice_for_all - 21 Kasım 2010, 22:22:40
 Microchip C18 derleyicisinde Timer0 8bit ve 16 bit kullanilabiliyorken neden CCS C derleyicisinde sadece 8 bit kullaniliyor??

Bunun nedenini bilen varsa aciklayabilirmi acaba??

Simdiden Tesekkurler...
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: X-Fi - 21 Kasım 2010, 22:35:33
Derleyiciler donanım yapısını değiştirmez ama kullanımı değişir malesef C18 ansi c, CSS değil bütün dünya ansi c yi tanıyor ancak ccs i sadece kullanıcıları tanıyor. :)

kullandığınız picde timer0 donanımda 16 bitmi bilmiyorum ama timer0H timer0L diye bölmüş olabilir derleyici.
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: justice_for_all - 21 Kasım 2010, 22:40:24
Ben her iki derleyiciyide kullaniyorum ama PIC18 serisinde C18de timer0 i 16 bit kullaniyorum ama CCS ye gelince sadece 8 bit kullanmaya izin veriyor...
Registerlerdede 16 bit kullanimi var ama CCS de nedense bunu yapmamislar...

Nedenini bir turlu cozemedim...
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: KAZIMUGUR - 21 Kasım 2010, 23:26:23
Vardır bir yerlerinde bir ayarı .

(http://img266.imageshack.us/img266/2043/ccss.png) (http://img266.imageshack.us/i/ccss.png/)

Uploaded with ImageShack.us (http://imageshack.us/)
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: aliveli - 21 Kasım 2010, 23:36:45
Timers 1, 3, and 5 return a 16 bit int.
Timers 2 and 4 return an 8 bit int.
Timer 0 (AKA RTCC) returns a 8 bit int except on the PIC18XXX where it returns a 16 bit int.

////////////////////////////////////////////////////////////////// Timer 0
// Timer 0 (AKA RTCC)Functions: SETUP_COUNTERS() or SETUP_TIMER_0(),
//                              SET_TIMER0() or SET_RTCC(),
//                              GET_TIMER0() or GET_RTCC()
// Constants used for SETUP_TIMER_0() are:
#define T0_INTERNAL   0
#define T0_EXT_L_TO_H 32
#define T0_EXT_H_TO_L 48

#define T0_DIV_1      8
#define T0_DIV_2      0
#define T0_DIV_4      1
#define T0_DIV_8      2
#define T0_DIV_16     3
#define T0_DIV_32     4
#define T0_DIV_64     5
#define T0_DIV_128    6
#define T0_DIV_256    7

#define T0_OFF        0x80 

#define T0_8_BIT      0x40 

#define RTCC_INTERNAL   0      // The following are provided for compatibility
#define RTCC_EXT_L_TO_H 32     // with older compiler versions
#define RTCC_EXT_H_TO_L 48
#define RTCC_DIV_1      8
#define RTCC_DIV_2      0
#define RTCC_DIV_4      1
#define RTCC_DIV_8      2
#define RTCC_DIV_16     3
#define RTCC_DIV_32     4
#define RTCC_DIV_64     5
#define RTCC_DIV_128    6
#define RTCC_DIV_256    7
#define RTCC_OFF        0x80 
#define RTCC_8_BIT      0x40 

timer0 konfigürasyonunda  RTCC_8_BIT kullanırsan 8 bit modda çalışır kullanmazsan 16bit döndürür.
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: picmanya - 22 Kasım 2010, 08:51:01
CCS C içerisine asm kod ilavesi mümkün oluyormu?
mümkünse;
C18 de ilgili yer için üretilen derleme sonucundaki asm kodları CCS C içine gömme veya
asm biliniyorsa direkt yalnızca bı kısma ait kodları asm ile yazın derim.

aslında istediğiniz çalışma 8 bit Timer ilede kısmen sağlanır ama siz illa 16 bit kurmak istiyorsunuz anladığım kadarı ile
Başlık: Ynt: Microchip C18 ile CCS C ile ilgili bi soru
Gönderen: justice_for_all - 22 Kasım 2010, 17:53:49
ben sadece neden kullanilmadigini ogrenmek istiyodum ama simdi anladim yardimlariniz icin tesekkurler...