"Mindennek a tetejében elkaptam valami nyavalyát, nem sokat aludtam, köhögök mint ahogy kell. Negyedik Hiba"
Nem ám elkaptad te is a korona vírust! Jobbulást amúgy!
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [sziku69:] Szólánc.
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] PLEX: multimédia az egész lakásban
- [Re:] Android másképp: Lineage OS és társai
- [Re:] [HThomas:] Kia Ceed SW JD vs CD tapasztalatok
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [ldave:] New Game Blitz - 2024
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
GAMEPOD.hu témák
Hozzászólások
KISDUCK
addikt
Azért ha lehet, akkor próbáld meg mégis a típusos adatokat – mondjuk a részletekről nem sokat mondtál, így nehéz tanácsot adni.
... és a bináris és a hexa az nem adattípus, hanem csak az információ egy megjelenítése.
#90088192
törölt tag
Ha mar egyszer érdeklődik az úr
// KS0108 Graphic LCD "C" Driver V0.0
// Laz
#include "ks0108.h"
#include "font5x8.h"
void delay(int j)
{
unsigned int i;
for(i=0; i<j; i++);
}
void strobe_E(void) //Turn screen On and Off
{
KS0108_EN = 1;
delay(20);
KS0108_EN = 0;
delay(20);
}
void lcd_sel(int s) //Screen Side Select
{ if(s==0)
{
KS0108_CS1 = 1; // Left 64 Vertical bit selected
KS0108_CS2 = 0;
} else if(s==1){
KS0108_CS1 = 0;
KS0108_CS2 = 1; // Right 64 Vertical bit selected
}else{
KS0108_CS1 = 1; // Left 64 Vertical bit selected
KS0108_CS2 = 1; // Right 64 Vertical bit selected
}
}
void line_select(int s)
{
// X Page : Select Horizontal group of 8bits
KS0108_RS = 0;
DATA_OUT = s;
strobe_E();
}
void set_y(int y)
{
//Y address
KS0108_RS = 0; //Instruction mode
DATA_OUT = (0b01000000+y);
strobe_E();
}
void start_line(int y)
{
KS0108_RS = 0; //Instruction mode
DATA_OUT = (0b11000000+y);
strobe_E();
}
void clr_scr (int t)
{
int x; int y;
start_line(0b00000000); //Horizontal offset address
for(y=0b10111000;y<0b11000000;y++)
{line_select(y);
delay(20);
for(x=0; x<64; x++)
{
//set_y(x);
KS0108_RS = 1;
DATA_OUT = t;
strobe_E();
};
};
};
void main(void)
{
unsigned int x;
InitalizePorts(); //Set Ports to default
//Wait for Vcc to settle
delay(20);
//Instruction Mode
KS0108_RS = 0;
// Turn on display
KS0108_RS = 0;
DATA_OUT = 0b00111111;
strobe_E();
lcd_sel(3); //Select both sides of the display
delay(100),
set_y(0); ///Vertical offset address
clr_scr(0x00); //Wipes the screen with the given data
//*************************************************************************
// Write Test
//*************************************************************************
lcd_sel(3);
start_line(0b00111000); //Horizontal Offset address
int u;
for(u=0b10111000;u<=0b10111111;u++) //Loop for horizontal line selection
{
line_select(u); //Horizontal line selection
set_y(0b00000001);
for(x=6; x<66; x++) //Data Readout from array
{
KS0108_RS = 1; //Data out mode
DATA_OUT = font5x8[x]; //Put data on the port
strobe_E();
};
};
while(1);
}
#90088192
törölt tag
Es a hiányzó "ks0108.h" Header
// KS0108 LCD Driver Config Header
#pragma config POSCMOD = XT, FNOSC = PRIPLL
#pragma config FPLLMUL = MUL_20
#pragma config FPLLIDIV = DIV_2
#pragma config FPLLODIV = DIV_1, FWDTEN = OFF
#pragma config FPBDIV = DIV_8
#pragma config OSCIOFNC = OFF
#include <stdio.h>
#include <string.h>
#include <math.h>
//#define __PIC32MX__
#if defined(__PIC24F__)
#include <p24fxxxx.h> ;
#elif defined(__PIC24H__)
#include <p24hxxxx.h> ;
#elif defined(__dsPIC30F__)
#include <p30fxxxx.h>;
#elif defined(__dsPIC33F__)
#include <p33fxxxx.h>;
#elif defined(__PIC32MX__)
#include <p32xxxx.h>
#else
#error Processor type not defined!!
#endif
//Physical port assignment
#define KS0108_Dir TRISE
#define DATA_OUT LATE
#define DATA_IN PORTE
//Physical pin assignment
#define KS0108_CS1 LATGbits.LATG6
#define KS0108_CS2 LATDbits.LATD8
#define KS0108_RS LATGbits.LATG9
#define KS0108_RW LATDbits.LATD7
#define KS0108_EN LATDbits.LATD11
#define KS0108_CL1 LATBbits.LATB13
#define KS0108_CL2 LATBbits.LATB14
#define KS0108_CL3 LATBbits.LATB15
// direction flags for the pins hardwware layer
#define KS0108_CL1_Direction TRISBbits.TRISB13
#define KS0108_CL2_Direction TRISBbits.TRISB14
#define KS0108_CL3_Direction TRISBbits.TRISB15
#define KS0108_CS1_Direction TRISGbits.TRISG6
#define KS0108_CS2_Direction TRISDbits.TRISD8
#define KS0108_RS_Direction TRISGbits.TRISG9
#define KS0108_RW_Direction TRISDbits.TRISD7
#define KS0108_EN_Direction TRISDbits.TRISD11
void InitalizePorts()
{DATA_OUT=0;
DATA_IN=0;
KS0108_Dir=0;
KS0108_CS1=1;
KS0108_CS2=1;
KS0108_RS=1;
KS0108_RW=0;
KS0108_EN=1;
/* Command port direction settings */
KS0108_CS1_Direction =0 ;
KS0108_CS2_Direction =0 ;
KS0108_RS_Direction =0 ;
KS0108_RW_Direction =0 ;
KS0108_EN_Direction =0 ;
KS0108_CL1_Direction =0 ;
KS0108_CL2_Direction =0 ;
KS0108_CL3_Direction =0 ;
}
[ Szerkesztve ]
Domonkos
Ármester
Idaig olvastam:void delay(int j)
{
unsigned int i;
for(i=0; i<j; i++);
}
Gender of electrical connectors is defined by the pins.
Attix70
aktív tag
Miért PIC és miért nem Atmega (Arduino) ?
Arduino (ESP, STM, Atmega...).
Próbáljuk meg a mondatokat NAGYbetűvel kezdeni
#90088192
törölt tag
Mi a baj vele? Utoljára kb 14 éves lehettem amikor Pascalban ökörködtem egy kicsit, ez most éppen a tanulási szakasz
Csaltam egy picit, találtam egy kódot ami legalább ki tud írni valamit, de aki írta bevallotta, ugyan úgy nem tud programozni mint EN
Ebből reszelem most amit éppen láttok. A nagyja az enyém mar, de ezen átsiklottam
[ Szerkesztve ]
#90088192
törölt tag
Egyszerű, a próba panelem ingyen volt, és van egy komplett berendezésem amivel tesztelni tudom, kisebb módosítások csak a a végrehajtó oldalon szükségesek. Minden dokumentálva van mert elhoztam a cégtől a komplett PCB alkönyvtárat.
Egy akkumulátor tolton dolgozok ami eredetileg egy hibrid analog/digitalis szabályzó körrel volt ellátva, én egy teljesen digitális verziót akarok csinálni
#90088192
törölt tag
Ez így jobb, most gondoltam ki amíg a WC-n voltam
void delay(int j)
{
for(0; j=0; j--);
}
Domonkos
Ármester
Az, hogy ennek a fugvenynek nincs igazi mellekhatasa. Ebben a formaban csak nagyon keves feltetelezheto a forditott gepi kodrol. Jobb/ujabb forditok szerintem csak egy sima ret
-re fogjak az egeszet cserelni. Ami egyebkent jo es amugy optimalis megoldas is, de delay
-kent nem sok ertelme lenne.
[ Szerkesztve ]
Gender of electrical connectors is defined by the pins.
#90088192
törölt tag
Kipróbáltam működik
Ha a képernyőre iratok ki akkor a kiírás sebességét tudom variálni vele
#90088192
törölt tag
Hello
Koszi az infót, lenne egy kérdésem is mert ezzel ki tudom kerülni ezt az egész marhaságot amit csinálok éppen.
Van egy port definiálás#include <inttypes.h>
#include <p32xxxx.h>
#ifndef KS0108_H
#define KS0108_H
// Ports
#define LCD_CMD_PORT PORTD // Command Output Register
#define LCD_CMD_DIR DDRD // Data Direction Register for Command Port
#define LCD_DATA_IN PINE // Data Input Register
#define LCD_DATA_OUT PORTE // Data Output Register
#define LCD_DATA_DIR DDRA // Data Direction Register for Data
Ami érdekes
LCD_CMD_PORT PORTD engem az érdekel, meg-e lehet oldani, hogy egyenkénti biteket definiáljak mint egy port.
Egy példa mert maga LCD_CMD_PORT valójában ezeket a funkciókat tartalmazza:
#define KS0108_CS1 LATGbits.LATG6
#define KS0108_CS2 LATDbits.LATD8
#define KS0108_RS LATGbits.LATG9
#define KS0108_RW LATDbits.LATD7
#define KS0108_EN LATDbits.LATD11
Vagyis a portra adott utasítások ezeket billentik át, csak nálam nem egy PORT-ra van bekötve hanem szétszórva ahogy latod
[ Szerkesztve ]
Domonkos
Ármester
Bitfieldekkel igen, de nem gondolom, hogy sokkal szebb vagy olvashatobb lesz majd tole a kod.
Gender of electrical connectors is defined by the pins.
#90088192
törölt tag
Koszi
Nem azért kellene, hanem van egy komplett könyvtár ami kész minden benne van, csak ugye nem tudom illeszteni a hardveremhez ebben a formában.
bkercso
nagyúr
Sok sikert!
Én csak Pascalban meg Delphiben írtam eddig pár tízezer sort (fraktálgenerátor, illetve kaotikus fizikai rendszerek szimulációja). Meg olvastam pár C++ kódot.
Megjelentek! : MFD3 és MFA3 || bkercso HiFi készülékek: https://hardverapro.hu/aprok/hirdeto/bkercso/keres.php?search_exac=0&search_title=0&usrid=341946&buying=0
bejegyzés Az elmúlt 2 hét szívása
Mai Hardverapró hirdetések
prémium kategóriában
ingyenes kategóriában
- 1 NAPOS AKCIÓ:Ryzen7-Asus TUF Tervező & Gaming FX505DA Laptop-Kitünő állapot-Legolcsóbban!!!
- Xiaomi Mi Max 3 64 GB-os
- 1 NAPOS AKCIÓ: Exkluziv,12.Generációs-Core i5-Érintős Dell Latitude 5430-2026-ig Világgaris-Mesés Ár
- Két laptop alkalmi áron! (Mindkettő Intel cpu - SSD - ddr3 - HDMI - USB 3.0 - jó akku)
- Ps5 Slim 1Tb közel 2 év Media Markt garancia