Picproje Elektronik Sitesi

PROGRAMLAMA DİLLERİ => Diğer => Konuyu başlatan: bulut_01 - 21 Şubat 2024, 17:19:44

Başlık: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 21 Şubat 2024, 17:19:44
iyi günler picproje ailesi ugrasıp ama yapamadıgım bır durum var 18f25Q10 ile oled 1306 ekrana birseyler çizmek istiyorum lakin bu pic in Q10 yeni serisini hiç kullanmadım i2c ayarını yapıyorum similasyon yaparken i2c fonksiyonunda kilitleniyor mcu. Atladıgım bır nokta mı var i2c yapılandırmasını yaparken.
not: aynı kodu 18f25K20 ile deniyorum calısıyor ekran pic in K serisi ile Q serisinin i2c yapılandırma arasındakı farkı bulamadım.

#include <18f25Q10.h>                                               
//#device ADC = 8
//#FUSES PROTECT                                                // kod koruması
//#FUSES CPD
#FUSES NOWDT                                               //No Watch Dog Timer
#FUSES NOPUT                                                //No Power Up Timer
#FUSES NOBROWNOUT                                           //No brownout reset
#FUSES NOMCLR                                       //Master Clear pin disabled
#FUSES NOPUT
#FUSES NOLVP
#FUSES NOSTVREN
#FUSES NOFCMEN
#FUSES NOWRT
#FUSES NODEBUG
#fuses NOEBTRB
#fuses NOEBTR
#use delay(internal = 64M)
//
//#OPT 9
//
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
//
#pin_select SDA1OUT = PIN_C4
#pin_select SCL1OUT = PIN_C3
//
#use i2c(Master,I2C1, Fast = 400000, sda = PIN_C4, scl = PIN_C3, STREAM = STREAM_24XX1025, FORCE_HW)
//
//#use rs232(baud = 2400, parity = N, xmit = PIN_C6, rcv = PIN_C7, bits = 8, STREAM = UART1, stop = 1, errors)
///////////////////////////////////////////////////////////////////////////////
                                                             //kütüphane ekleme
#include <ssd1306.C>                                     
//#include <stdint.h>
///////////////////////////////////////////////////////////////////////////////
#BYTE SSPxCON1 = 0x0F95
#BIT SSPEN = SSPxCON1.5
#BIT WCOL = SSPxCON1.7
#BIT SSPM3 = SSPxCON1.3
#BIT SSPM2 = SSPxCON1.2
#BIT SSPM1 = SSPxCON1.1
#BIT SSPM0 = SSPxCON1.0

#BYTE SSPxCON2 = 0x0F96
#BIT GCEN = SSPxCON2.7
#BIT ACKSTAT = SSPxCON2.6
#BIT ACKDT = SSPxCON2.5
#BIT ACKEN = SSPxCON2.4
#BIT RCEN = SSPxCON2.3
#BIT PEN = SSPxCON2.2
#BIT RSEN = SSPxCON2.1
#BIT SEN = SSPxCON2.0

///////////////////////////////////////////////////////////////////////////////
void main()                                                         
{

SETUP_ADC(NO_ANALOGS || ADC_OFF);
//
setup_timer_0(T0_EXT_L_TO_H | T0_DIV_1);
enable_interrupts(int_timer0);
set_timer0(0);
//
i2c_init(TRUE);
oled_clearScreen();
oled_command(NORMALDISPLAY);
Oled_Init();
oled_line( 6, 8, 32, 127, 6);
//Oled_FillScreen(); //ekranı temizler
//
//SSD1306_Begin(SSD1306_SWITCHCAPVCC, SSD1306_I2C_ADDRESS);
//
//setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
//enable_interrupts(INT_TIMER1);
//set_timer1(0);
//
//setup_timer_2(T2_DIV_BY_64,255,1);                                   //3.2 ms
//enable_interrupts(INT_TIMER2);
//set_timer2(0);
//

disable_interrupts(int_rda);
disable_interrupts(INT_TBE);
ENABLE_interrupts(GLOBAL);
//

set_tris_A(0b0000000);
set_tris_B(0b0000000);
set_tris_C(0b0000000);
//
output_A(0x00);
output_B(0x00);
output_C(0x00);
//
SSPEN = 1;

                              while(true){     


                   
}}

resimdeki belirtiğim oled kutuphanesındekı satırda kilitleniyor.

(https://i.ibb.co/r7fhR8M/1234.jpg) (https://ibb.co/r7fhR8M)
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: sadogan - 21 Şubat 2024, 20:12:31
İlgili satırları bunlarla değiştirin.
#use STANDARD_IO( C )
#pin_select SCL1IN  = PIN_C3
#pin_select SDA1IN  = PIN_C4
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 21 Şubat 2024, 22:45:00
maglesef savas abi değişen birsey olmadı aynı durumda kaldı calışmadı.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: sadogan - 22 Şubat 2024, 09:39:22

(https://i.ibb.co/j49dZcD/oled.png) (https://ibb.co/j49dZcD)


22 Şubat 2024, 09:39:38
Bende çalışıyor.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 22 Şubat 2024, 11:25:58
bende calısmıyor ccs hangi versiyonu var sende bendeki x115 proteusda 8.16 bu attıgın örneğin kodunu paylaşabilirmisin onuda bir deneyeyim.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: sadogan - 22 Şubat 2024, 20:30:44
https://lifeboxtransfer.com/s/9f21b72d-21d4-41cf-bb6a-fb13c28fb568
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 22 Şubat 2024, 20:45:52
verdiğin örnek i2c yazılımsal örnek donanımsal değil  yazılımsal olarak calıstırabılıyorum ama donanımsal olarak calısmıyor yukardakı dediğim durum gecerlı i2c transfer fonksiyonunda takılıyor.
i2c yapılandırmasını şu sekılde yaparsam calısıyor ama bu yazılımsal olarak calısıyor donanımsal değil.

#use i2c(master, sda=PIN_C4, scl=PIN_C3, FAST, stream=STREAM_24XX1025)
buda donanımsal i2c ayarı bunda calısmıyor.
   #pin_select SCL1in = PIN_C3
#pin_select SDA1in = PIN_C4
//
#use i2c(master,I2C1, Fast, sda = PIN_C4, scl = PIN_C3, STREAM = STREAM_24XX1025,FORCE_HW)
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: yas - 22 Şubat 2024, 20:59:10
Yazılımsal olarak çalışıyorsa ilgili kütüphane kullanılan pinleri varsayılan olarak dijitale ayarlıyordur. Fakat donanımsal yapıda bu durum es geçiliyor olabilir. Microchip anlamsız bir biçimde yeni nesil mcu larda pinlerin varsayılan durumlarını dijital haricinde ayarlıyor. İlgili pinlerin analog yada diğer modlara ayarlı olarak kalmadığından emin olun. Belki böyle bir sorun olabilir.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 22 Şubat 2024, 21:09:51
Alıntı yapılan: yas - 22 Şubat 2024, 20:59:10Yazılımsal olarak çalışıyorsa ilgili kütüphane kullanılan pinleri varsayılan olarak dijitale ayarlıyordur. Fakat donanımsal yapıda bu durum es geçiliyor olabilir. Microchip anlamsız bir biçimde yeni nesil mcu larda pinlerin varsayılan durumlarını dijital haricinde ayarlıyor. İlgili pinlerin analog yada diğer modlara ayarlı olarak kalmadığından emin olun. Belki böyle bir sorun olabilir.
üst de bütün kodu yayınladım port ayarlarını hepsini yaptım atladıgım noktası neresi bulamadım i2c donanımsal ayarladıgımda kod kilitleniyor 2 gündür ugrasıyorum bulamadım.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: yas - 23 Şubat 2024, 01:40:08
C bilmiyorum. Ama önerim ANSELC register ı sıfırlamak. Deneye bilir misin?
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 23 Şubat 2024, 13:07:52
ansel ile ilgili oldugunu düşünmüyorum use_fast_io(c) ile port ayarlanıyor.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: yas - 23 Şubat 2024, 13:13:44
Yeni nesil pic lerde varsayılan olarak portlar dijital ayarlı gelmiyor. Veri sayfasının anselx açıklamalarına bakılacak olursa reset sonrası hepsi 1 e set oluyor. Yani analog seçiliyor. Denemekle birşey kaybetmezsin.

23 Şubat 2024, 13:15:26
Alıntı yapılan: bulut_01 - 23 Şubat 2024, 13:07:52ansel ile ilgili oldugunu düşünmüyorum use_fast_io(c) ile port ayarlanıyor.

Derledikten sonra asm çıktısı varsa bir incele eğer anselc temizlenmiyorsa kendin eklemelisin.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 23 Şubat 2024, 17:25:21
Alıntı yapılan: yas - 23 Şubat 2024, 13:13:44Yeni nesil pic lerde varsayılan olarak portlar dijital ayarlı gelmiyor. Veri sayfasının anselx açıklamalarına bakılacak olursa reset sonrası hepsi 1 e set oluyor. Yani analog seçiliyor. Denemekle birşey kaybetmezsin.

23 Şubat 2024, 13:15:26
Derledikten sonra asm çıktısı varsa bir incele eğer anselc temizlenmiyorsa kendin eklemelisin.

anselc sıfırladım değişen bişey olmadı yine aynı yerde kilitleniyor i2c donanımsal ayarladıgımda fakat yazılımsalda sorun yok.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: mustafa_cmbz - 23 Şubat 2024, 18:13:35
Alakasız ama Q serisi pic lerin olayı nedir kısaca bahsetme şansınız varmı hocam
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: bulut_01 - 23 Şubat 2024, 18:24:53
pic yeni serisi donanımsal olarak biraz daha iyi yeni yenidir.2 gündür i2c donanımsal olarak calıştıramıyorum bu konuda tecrübeli arkadaslar yardımlarınızı bekliyorum.
Başlık: Ynt: PIC18f25Q10 OLED1306 ile ilgili bir soru
Gönderen: Pepe - 24 Şubat 2024, 03:39:07

(https://i.ibb.co/5GN1Tsz/17087351119542738873487418008641.jpg) (https://ibb.co/5GN1Tsz)