Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Xiaomi 17 Ultra - jó az optikája
- Olyan menő, hogy Google nélkül is elfogadnád
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Hivatalos a Poco X8 Pro Max gigantikus akkukapacitása
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Bemutatkozott a Poco X7 és X7 Pro
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Apple iPhone 17 Pro Max – fennsík
Új hozzászólás Aktív témák
-
don_peter
senior tag
válasz
Peter789
#4377
üzenetére
Az előző hozzászólásomban rosszul írtam a 10-es számrendszert.

Helyesbítés: 10bit-es számot kapok vissza értékként 2-es számrendszerben
Közben megoldottam a feldolgozást és kiíratást.
A float mint lebegőpontos változó nem tetszett az LCD-t vezérlő driver-nek, így külön kellett hozzá írni egy rutint amely égésszámmá konvertálja a törtet majd egy long változóba tölti, ezek után utána összarakja beleírva a megfelelő helyre egy pontot (ez a pont lesz a tizedest elválasztó) és string-ként kiírja az LCD display-re.
Nem volt egyszerű, de kis segítséggel ez is megoldódott.
Jöhet a digitális bemenet és a digitális jelek feldolgozása

-
don_peter
senior tag
válasz
Peter789
#4377
üzenetére
Sajnos nem tudtak segíteni a hobbielektronikán, vagy csak azt akarták, hogy én kínlódjam ki a megoldást

Közben kiderült, hogy mindenképpen a bejövő analóg jelet konvertálni kell mert más ként nem lesz megjeleníthető formába így nem vált láthatóvá.
A program amit linkeltem részben jó volt, de a konverterek nem voltak benne így nem tudott vissza adni értéket.
Megkaptam 10-es számrendszerben a potméter jelét szóval faszányos a dolog.
Most már csak az alap matematikai műveleteket kell elvégezzem, csak még nem tudom, hogy kell ezeket deklarálni, mert simán beírva a műveletet 0-át ad vissza.
Köszi a segítséget. -
don_peter
senior tag
válasz
Peter789
#4372
üzenetére
Nah igen ha így vesszük, igazad van, de még sem egy drag-and-drop-os (fogd és húzd) megoldással dolgozom

Egy kezdőnek a C nyelvezet így is elég bonyolultnak tűnik, nem beszélve a mikroprocesszorok programozásáról és azok ismeretéről.
Természetesen minden lefut és lefordul, fel is égetem a PIC-et, de 0 értékkel jön vissza.Az A0-ás analóg bemeneten van egy 10K-os állítható értékű ellenállás vagy POTI és az 5v-ot szabályzom vele le s fel.
Reakció 0... -
don_peter
senior tag
válasz
Peter789
#4370
üzenetére
Köszönöm az ajánlásokat, de én még az a programozó vagyok aki a kódokat szereti látni és megtanulni őket leírni

Természetesen megy az élesztés és kisebb programokat már írtam is mint pl.: while ciklusok számolása, nyomógombok használata magas és alacsony szintetek beállítása és kezelése, ledek villogtatása vagy éppen csak kapcsolgatása, és természetesen mindezek értékeit LCD-re kiíratom folyamatos frissítéssel.Alap programozói tapasztalataim a webes irányzatból vannak így némileg el tudok gravírozni az egyes főbb függvények közt. (HTML, CSS, JS, PHP SQL ismereteim vannak)
A gondom az hogy elakadtam az analóg jelek bekérésénél és azok feldolgozásánál.
Egyenlőre beállítom a PIC A0-ás lábára, hogy analóg bemenet legyen és a beépített ReadADC() függvénnyel próbálom kiolvasni a rákerülő jeleket.A fő program része:
#include <p18f4550.h> //chip beállítása
#include <stdio.h> //I/O portok beállítása
#include <delays.h> //Időzítő
#include <tesztheader.h>
#include "lcd.c"
#include <adc.h>
#define ANALOG_IN ADC_CH0 //a potméter AN0-ra csatlakozik
volatile unsigned char a;
void main(){
lcd_init(); // Az LCD modulinicializálása
lcd_init_cgram(); // Az ékezetes betűk feltöltése
stdout = _H_USER; // Az LCD legyen a standard kimenetnt
TRISAbits.TRISA0 = 1; //analog A0 láb legyen bemenet
ADCON0=0b00000001;
OpenADC(ADC_FOSC_64 | ADC_RIGHT_JUST | ADC_20_TAD, ANALOG_IN | ADC_INT_OFF | ADC_REF_VDD_VSS, ADC_2ANA);
TRISBbits.TRISB7 = 0;
LATBbits.LATB7 = 1;
while(1){
a=0L;
Delay10TCYx(80);
a = ReadADC();
printf("Valami %u", a);
lcd_write(0xC0,0,1,1);
}
}
Elviekben a header állományban minden deklarálva van ami szükséges lehet mivel a program nem figyelmeztet, hogy hiányolna valamit
Előre is köszi a segítséget. -
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- DJI topic
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Proxmox VE
- Meggyi001: Áram nélkül....méltóság nélkül.....
- E-roller topik
- Autós topik
- LEGO klub
- Kamionok, fuvarozás, logisztika topik
- Otthoni hálózat és internet megosztás
- Samsung Galaxy S25 - végre van kicsi!
- További aktív témák...
- Latitude 5440 14" FHD IPS i7-1365U 16GB 512GB NVMe ujjlolv IR kam gar
- GAMER PC! i5-13500 / RTX 3070 Ti / 16GB DDR / 512GB NVMe / 650w!
- Eladó Precision 7540 FHD IPS i7-9850h Radeon Pro WX 3200 32 512 magyarított bill + külső hangkártya
- Kingston HyperX FURY RGB 2x16GB DDR4 3200MHz CL16 Eladó!
- iPad Air 10.9" M1 2022 - full doboz, garancia (118)
- 27% - ASUS ROG Ryuo IV SLC 360 ARGB (90RC0151-B0EAY0) AIO Vízhűtés !
- GAMER PC! i7-12700 / RTX 3080 Ti / 32GB 4133MHz / B760M / 1TB NVMe / 700w! BeszámítOK
- i9-11900K / RTX 3080 / Z590i / 32GB 4000MHz / 1TB NVMe / 750w GOLD! BeszámítOK
- 27% - HEIGAOLA MiniPC - / 10.1" Érintőképernyő! Intel J4125 / 8GB RAM /128GB SSD
- Zotac / Inno3D RTX 3080 Ti // Számla // Garancia //
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



]

