Pic 18f4550 ile USB mouse dan gelen x ve y koordinatlarını okumak ve ekrana yazd

Başlatan Zugzwang, 18 Haziran 2024, 19:59:38

Zugzwang

Merhaba arkadaşlar iyi bayramlar dilerim pic 18f4550 ile USB mouse dan gelen sinyalleri okuyup X ve Y koordinatlarını okuyarak 16x2 ekrana yazdırmak istiyorum bir sürü kod yazdım ama pic verileri okumada sorun yaşıyorum
#include <555.h>


#fuses NOWDT, HS, NOPROTECT, NOLVP
#use delay(clock=4000000)

#include <lcd.c>
#include <LCD.C>
#define LCD_ENABLE_PIN PIN_D2
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D0
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7

#byte SSPCON1 = 0xFC6
#byte SSPCFG  = 0xF63
#byte SSPDATA  = 0xF62
#byte SPPEPS = 0xF64



int a = 1;
int posX = 0;
int posy = 0;
int i;
int pos_relative = SPPEPS & 0x01;//dikkat edilecek
// bit0_value = SPPEPS & 0x01;
int old_state, x_oldstate, y_oldstate;
char x_step=2;         // x axis step - Max 127 (0x7F)
char y_step=2;         // y axis step - Max 127 (0x7F)
int x_state,y_state;
char x_axis,y_axis;



signed char   scan_x(){
       char x_axis= 0xF62 & 0b00011000; // only bit3 and bit4 not cleared;
       

       return x_axis;
}

signed char   scan_y(){
       char y_axis= 0xF62 & 0b00000110; // only bit3 and bit4 not cleared;
       


       return y_axis;
}

void readMouse(){
               
             //  ButtonsScan();
             //Standard Mouse sensor input
               x_axis=scan_x();
               y_axis=scan_y();

               

             
              }



void main()
{
   setup_adc_ports(NO_ANALOGS);
   lcd_init();

   lcd_init();

   printf(lcd_putc,"X_axis:%d Y_axis:%d",x_axis,y_axis);
   
   SSPCON1 = 11000000; // USB control enable
   SSPCFG  = 11101111; // USB config
   SSPDATA = 00000000; //DATA RESET
 while(a=1){                    //MAIN LOOP
           readMouse();
           Delay_ms(5);}
}

alisumer

sppcfg yerine  SSPCFG ve  sppdata yerine SSPDATA  gibi birkaç yerde olmayan registerleri girmişsin tekrar kontrol et bence. ayrıca usb ayarları için 30 a yakın register var ayarların bunlardan ibaret olduğunu pek sanmıyorum
Hep meraktan

Zugzwang


alisumer

kusura bakma usb işi beni aşar ayrıca C ile programlayamam ASM de de ölüm gibi bişey olur. ama deseniz ki usb yerine spi kullanıyor bu mause sensörü bak o zaman bi iki bişey yazacak kadar bilirim.
Hep meraktan

alisumer

 önerim MPLAB Code Configurator (MCC) yükle içinde kütüphaneler ve örnek kodlar var C için programlamana yardımı çok olur https://www.microchip.com/en-us/tools-resources/develop/libraries/microchip-libraries-for-applications
Hep meraktan

Zugzwang


alisumer

register bazında ayarlamalar için  faydası olabilir jal ile c benzer diller seni ilgilendiren kısmı usb için ayarlamalar olduğundan işini genede görecektir indir  bi bak bence.
Hep meraktan

ahmet_zxc

hocam usb haberleşmesini dinleyen bir program kur ve bigisayarla mouse ne konuşuyor bak.

sonrasında bu konuşmayı kopyala.

ben device monitoring studio diye bir program kullanıyorum dinleme için..

parametre

.... Yanlışlıkla yazıldı

Powered by EzPortal