BS83B08 örnek kod

Başlatan merve damar, 20 Ağustos 2019, 17:02:01

merve damar

#15
Alıntı yapılan: Burak - 22 Ağustos 2019, 12:07:48SYSTEM_INITIAL fonksiyonuna bakıldığında wctl isimli register'a asm koduyla direkt isim sıfatıyla ulaşım sağlanabiliyor ama hata koduna baktığınızda 24. satırdaki ibaresitle _wctl isimli register tanımlanmamış yani bu chip'e özgü olarak yazılmış header dosyasına ulaşamıyorsunuz yada derleyici onu bulamıyor sorunumuz bu ..

Acaba BS83B08-3.h dosyasının içinde neler var ? Yada altındaki Extern_Reg_Function.h dosyasının içinde neler var .. Bu dosyaları programın yazıldığı dizin içerisine tekrar kopyalamak gerekebilir çünkü derleyici bu identifier'lara ulaşamıyor .

#include <BS83B08-3.h> 
#include <Extern_Reg_Function.h>
şeklinde oklar ile girip tekrar da deneyebilirsiniz ..





///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
//???????????????C????//////////////////////
//????????TKS_HEAD.INC??/////////////////////////////
///////////////////////////////////////////////////////////////
#include "BS83B08-3.h"
//=========================
//=LIBRARY REFERENCE LABEL=
//=========================
//-SUBROUTIN
extern void TIME_BASE_INT(void);
extern void TKS_INITIAL(void);
extern void SCAN_TOUCH_KEY(void);
extern void SET_SYS_CLK(void);
extern void SET_KEY_ATTR(void);
extern void GET_KEY_BITMAP(void);
extern void GET_KEY_RISING(void);
extern void GET_KEY_FALLING(void);
extern void GET_ENV_VALUE(void);
extern void GET_REF_VALUE(void);
extern void GET_RCC_VALUE(void);
extern void GET_LIB_VER(void);
extern void GET_KEY_AMOUNT(void);
extern void SYSTEM_INITIAL(void);


//-DATA DEFINE
extern unsigned char DATA_BUF[];
extern unsigned char GLOBE_VARIES[];
extern unsigned char KEY_REF;
extern unsigned char KEY_FREQ;
extern unsigned char TKS_RCC_REG;
extern unsigned char CAL_TIME_BASE;
extern unsigned char KEY_STATUS;
extern unsigned char KEY_TIMER;
extern unsigned char TKS_TIME_BASE;
extern unsigned char KEY_IO_SEL;

//-FLAG DEFINE
extern char SCAN_CYCLEF;
extern char ANY_KEY_PRESSF;
extern char TKS_ACTIVEF;
extern char TKS_125MSF;
extern char TKS_500MSF;
extern char FORCE_CALIBRATEF;



merve damar

Bir de şöyle bir sorum olacak. Ana fonksiyon harici bir dosyada;
  MOV     A,11110000B     ;one SEC. time out
  MOV     WCTL,A
şeklinde bir tanımlama yapmış, Ana fonksiyonda da;
void main()   
{   
    _wctl=0b11110000;   
    _clrwdt1();   
    _clrwdt2();   
    SYSTEM_INITIAL(); 
Tekrar yazmış, 1 saniyelik zaman aşımı sonrasında wdt'leri sıfırlamış ve üzerine   _wctl=0b11110000;  gibi saçma bir kod yazmış. Bu kodu neden yazmış olabilir. Biz wdt ile ilgili olduğunu düşünüyoruz ve bizce öyle. Madem önce sıfırlayacak neden ona böyle bir değer atamış? Ve o değeri neye göre atamış? Datasheette bulunmayan bir değer. Nerden karar vermiş olabilir ? Kusura bakmayın çok soru sordum ama hakim olmadığım için soruyorum. 2 dili birlikte nasıl kullanmış inanın zorlanıyorum.

elektro77

1- _wctl=0b11110000;   bu kodu kaldırınca derlemee hata veriyormu.

2-BS83B08-3.h ın dosyasındaki bu kodu #include "BS83B08-3.h"
  bu şekle cevirip denedinizmi.       #include <BS83B08-3.h>

      işlemcinin data sheetinde bu işlemcinin keypedler için özel olarak tasarlandığı ve ayarlandığı belirtiliyor.
bu kodunda o işe yaradığı belli. pic basic ile yapılmış  tuş tarama tekniklerinde işlemcinin pinleri bu koda benzer bir kod dizini taranıyor. tam hakim değilim ama ete hocamın derslerinden 4x4 keyped kullanımı uygulamalarına bir bakın derim.
"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"

merve damar

Alıntı yapılan: elektro77 - 22 Ağustos 2019, 14:51:421- _wctl=0b11110000;   bu kodu kaldırınca derlemee hata veriyormu.

2-BS83B08-3.h ın dosyasındaki bu kodu #include "BS83B08-3.h"
  bu şekle cevirip denedinizmi.       #include <BS83B08-3.h>

      işlemcinin data sheetinde bu işlemcinin keypedler için özel olarak tasarlandığı ve ayarlandığı belirtiliyor.
bu kodunda o işe yaradığı belli. pic basic ile yapılmış  tuş tarama tekniklerinde işlemcinin pinleri bu koda benzer bir kod dizini taranıyor. tam hakim değilim ama ete hocamın derslerinden 4x4 keyped kullanımı uygulamalarına bir bakın derim.
1- Evet fakat başka bir dosyada bulunan kodlardan hata veriyor. Ana fonksiyonda hata yok.
2- Bu dosya kütüphane klasöründe paylaşılmamış. Böyle bir dosya yok. Bu yüzden o satırı aktiflemek bir şey değiştirmez.
Bahsettiğiniz uygulamalara bakacağım.

elektro77

"Eğer bir konuyu öğrenmek istiyorsan o konunun öğretmeni ol; daha iyi öğrenmek istiyorsan o konuda bir kitap yaz; daha da iyi öğrenmek istiyorsan yazdığın kitabi oku"


Powered by EzPortal