Merhaba iyi çalışmalar. Holteğin BS83B08 dokunmatik işlemcisi hakkında bir çalışma yaptınız mı acaba? Kaynak ve örnek kod bulamıyorum. Bir öneriniz var mı ?
ht-Ide 3000 kullanmak istiyoruz. Açıkçası datasheetten, amaçladığımız adreslemeyi nasıl yapacağımızı bilmiyoruz. Bu sebeple daha kolay anlaşılır kodlar bulmak istiyoruz. Yani register olarak.
Bs83b08 islemcisini nereden tedarik ediyorsunuz ? Bende kullanmak istiyorum :) Datasheette adresleme haritasi verilmiş oradan yola cikarak yapilabilir. Spi calisiyor sanirim.
Çinden tedarik edildi.
Şunu arıyorum sorularına bunu kullan cevabı vermeyi sevmiyorum ama
örneği olan yaygın kullanılan işi kolaylaştıracak bir seçim yapmak gerekirdi.
Pic16F1827 vs. gibi birçok seçenek var.
Aradığınız malzeme bu firmada var
http://www.semtech.com.tr/product/holtek-semiconductor-inc
Firma Holtek in Türkiye distribütörü malzemenin fiyatı 40 cent
BS83B08 A-3 (16 N SOP)
Alıntı yapılan: RaMu - 21 Ağustos 2019, 14:20:14Şunu arıyorum sorularına bunu kullan cevabı vermeyi sevmiyorum ama
örneği olan yaygın kullanılan işi kolaylaştıracak bir seçim yapmak gerekirdi.
Pic16F1827 vs. gibi birçok seçenek var.
Evet. Doğru söylüyorsunuz. O seçeneği, foruma bu soruyu sormadan önce düşünmüştük. Fakat bu soruyu soruyorsam bunu kullanmak zorunda olduğum için soruyorumdur. Sonuçta herkes daha yaygın bir işlemci kullanmak ister.
(silinebilir)
Zorunluluk varsa ayrı mesele,
tabi yardım isterken bunun nedenlerinide olabildiğince açıklamak lazım,
çok az kişinin işine yarayacak bir konuda
emek verip yardım etmek isteyen doğal olarak pek çıkmaz.
Forum olarak araştırmacı ve meraklı olduğumuz için
şöyle bir yöntemle yardım edebiliriz,
ben ve birçok arkadaşımız datasheet okuyup register seviyesinde ve hatta asm kod yazan kişileriz,
datasheetten parça parça ilgili yerleri paylaşıp
bu nasıl oluyor nasıl yaparız diye sorabilirsin
anladığımız kadarıyla yardımcı oluruz.
Üstünkörü baktım sitesinde bazı kod örnekleri var (asm)
arayıp en alakalı olanı bulmak lazım
https://www.holtek.com/documents/10179/2629206/C60001-A2_B2.zip
Yukarıdaki link alttaki aramadaki
C60001-A2_B2.zip adlı klasör
https://www.holtek.com/search?key=bs83b08
O klasörün içindeki .asm uzantılı dosyalarda örnek kodların main kısmı.
Ucuz etin yahnisi yenmez :D Bu cipin maliyeti, yazilim gelistirmeyide icine koyarsak kuvvetle ihtimal
@RaMu nun bahsettigi microchip serisinden daha pahaliya gelecektir. :(
Neyse yerinde olsam cipin ureticisi veya Turkiye deki dagiticisi ile iletisime gecerdim. ::ok
Teşekkürler. Şuan örnek kodlar üzerinde çalışıyoruz. Kodları çalıştırmaya çalışıyoruz. Paylaştıklarınızı inceleyeceğim teşekkürler.
http://read.pudn.com/downloads416/sourcecode/asm/1767214/C%20%E8%AF%AD%E8%A8%80%E8%B0%83%E7%94%A8LIB/Touch/Touch.c__.htm
Burdaki Kodu çalıştırmaya çalışıyoruz. Fakat 24üncü satırda hata veriyor. Bu satırdaki kodun ne anlama geldiğini biliyor musunuz?
24ci satırı sildiğinizde normal derliyor mu?
//#include "BS83B08-3.h"
yorumu kaldır, muhtemelen "_wctl" o dosyada tanımlıdır,
program derlenirken "_wctl" tanımlı değil diye hata veriyordur şuan.
Alıntı yapılan: bulut_01 - 22 Ağustos 2019, 10:30:5524ci satırı sildiğinizde normal derliyor mu?
Hayır başka hatalarla karşılaşıyoruz. Üstte paylaştığım ana fonksiyon ve bunun dışında kütüphaneler var. Hatalar bu kütüphanelere bağlı olarak çıkıyor. Bence 2 farklı dil kullandığı için karışıklık olmuş. Kütüphanelerde asm olarak yazıyor, ana fonksiyonda c diinde çağırıyor. Ve haliyle derleyici bunu tanımıyor.
Alıntı yapılan: RaMu - 22 Ağustos 2019, 13:51:22//#include "BS83B08-3.h"
yorumu kaldır, muhtemelen "_wctl" o dosyada tanımlıdır,
program derlenirken "_wctl" tanımlı değil diye hata veriyordur şuan.
Öyle bir dosya paylaşılmamış, _wctl'nin Bulunduğu dosya ;
#include "BS83B08-3.h"
void INCLUDE_ASM(void)
{
#asm
INCLUDE BS83B08.INC
INCLUDE TKS_HEAD.INC
#endasm
}
void LOAD_HXT_REFERENCE(void);
void CLEAR_RAM(void);
//;;***********************************************************
//;;*SUB. NAME: *
//;;*INPUT : *
//;;*OUTPUT : *
//;;*USED REG.: *
//;;*FUNCTION : *
//;;***********************************************************
void SYSTEM_INITIAL(void)
{
#asm
;---------------------
;-SYSTEM CLOCK INITIAL
;---------------------
MOV A,SystemClock ;0=8MHz;1=12MHz;2=16MHz;Other=8MHz
CALL _SET_SYS_CLK
;----------------
;-WDT INITIAL -
;----------------
MOV A,11110000B ;one SEC. time out
MOV WCTL,A
CLR WDT
CLR WDT1
CLR WDT2
;----------------
;-RAM INITIAL ---
;----------------
;-CLEAR RAM BANK1
CLR BP
SET BP.0
MOV A,80H
#endasm
CLEAR_RAM();
#asm
;-CLEAR RAM BANK0
CLR BP
MOV A,60H
#endasm
CLEAR_RAM();
#asm
;----------------
;-IO INITIAL ---
;----------------
;-PA INITIAL
CLR PAPU
CLR PAC
CLR PA
;-PB INITIAL
CLR PBPU
CLR PBC
CLR PB
;-PC INITIAL
//CLR PCPU
//CLR PCC
//CLR PC
;----------------
;-LIBRARY INITIAL
;----------------
;-LOAD LIBRARY OPTION/THRESHOLD
#endasm
LOAD_HXT_REFERENCE();
#asm
;-TKS VARIES INITIAL
CALL _TKS_INITIAL
;-SET as KEY or IO : 0=KEY 1=IO
MOV A,KEY8_KEY1_ATTR
MOV _DATA_BUF
[li],A[/li]
MOV A,KEY16_KEY9_ATTR
MOV _DATA_BUF[1],A
CALL _SET_KEY_ATTR
;-----------------------------
;-HXT EDITOR INTERFACE INITIAL
;-----------------------------
IFDEF HXT_IIC_MODE
CALL HXT_IIC_INITIAL
ENDIF
;-ENABLE GLOBE INT.
SET EMI
RET
#endasm
}
//;;***********************************************************
//;;*SUB. NAME: *
//;;*INPUT : *
//;;*OUTPUT : *
//;;*USED REG.: *
//;;*FUNCTION : *
//;;***********************************************************
#define GlobeOptionA (CalibrateTime<<4)|KeyDebounce
#define GlobeOptionB (MaximumOnTime<<4)|SamplingTime
#define GlobeOptionC (PowerOnBalance<<7)|(ReBalance<<6)|(OneKeyActive<<5)|(AutoRSelect<<3)
void LOAD_HXT_REFERENCE(void)
{
#asm
;-TKS LIBRARY OPTION
MOV A,GlobeOptionA
MOV _GLOBE_VARIES
[list]
[li],A [/li]
[/list]
MOV A,GlobeOptionB
MOV _GLOBE_VARIES[1],A
MOV A,GlobeOptionC
MOV _GLOBE_VARIES[2],A
;-KEY1 THRESHOLD
MOV A,Key1Threshold
MOV _GLOBE_VARIES[3],A
;-KEY2 THRESHOLD
MOV A,Key2Threshold
MOV _GLOBE_VARIES[4],A
;-KEY3 THRESHOLD
MOV A,Key3Threshold
MOV _GLOBE_VARIES[5],A
;-KEY4 THRESHOLD
MOV A,Key4Threshold
MOV _GLOBE_VARIES[6],A
;-KEY5 THRESHOLD
MOV A,Key5Threshold
MOV _GLOBE_VARIES[7],A
;-KEY6 THRESHOLD
MOV A,Key6Threshold
MOV _GLOBE_VARIES[8],A
;-KEY7 THRESHOLD
MOV A,Key7Threshold
MOV _GLOBE_VARIES[9],A
;-KEY8 THRESHOLD
MOV A,Key8Threshold
MOV _GLOBE_VARIES[10],A
;-KEY9 THRESHOLD
MOV A,Key9Threshold
MOV _GLOBE_VARIES[11],A
;-KEY10 THRESHOLD
MOV A,Key10Threshold
MOV _GLOBE_VARIES[12],A
;-KEY11 THRESHOLD
MOV A,Key11Threshold
MOV _GLOBE_VARIES[13],A
;-KEY12 THRESHOLD
MOV A,Key12Threshold
MOV _GLOBE_VARIES[14],A
;-KEY13 THRESHOLD
MOV A,Key13Threshold
MOV _GLOBE_VARIES[15],A
;-KEY14 THRESHOLD
MOV A,Key14Threshold
MOV _GLOBE_VARIES[16],A
;-KEY15 THRESHOLD
MOV A,Key15Threshold
MOV _GLOBE_VARIES[17],A
;-KEY16 THRESHOLD
MOV A,Key16Threshold
MOV _GLOBE_VARIES[18],A
RET
#endasm
}
//;;***********************************************************
//;;*SUB. NAME: *
//;;*INPUT : *
//;;*OUTPUT : *
//;;*USED REG.: *
//;;*FUNCTION : *
//;;***********************************************************
void CLEAR_RAM(void)
{
#asm
MOV MP1,A
CLR IAR1
INCA MP1
SNZ Z
JMP $-4
RET
#endasm
}