- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- iPhone topik
- Samsung Galaxy S24 FE - később
- Mobilhasználat külföldön
- Xiaomi 13 - felnőni nehéz
- Íme az új Android Auto!
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Honor Magic6 Pro - kör közepén számok
- VoLTE/VoWiFi
- Fotók, videók mobillal
Ú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ámrendszerbenKö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. -
sztanozs
veterán
Ú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!
- Kompakt vízhűtés
- Samsung Galaxy S21 és S21+ - húszra akartak lapot húzni
- The Division 2 (PC, XO, PS4)
- Mielőbb díjat rakatnának a görögök az olcsó csomagokra az EU-ban
- BestBuy topik
- Synology NAS
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- AMD GPU-k jövője - amit tudni vélünk
- Könyvajánló
- További aktív témák...
- Apple iPhone 14 PRO - 128GB - Deep Purple - 85% akkumulátor
- GOPRO Hero 11 BLACK akciókamera - különlegesség!!! Labs fw 01.20.70
- DJI Mavic 3 Pro RC - drón szett új állapotban - 2 akkuval
- Samsung Galaxy S22 Ultra 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S24 Ultra 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Álmodozol egy erősebb gamer élményről? Kamatmentes rèszletre is!
- DELL T40 EMC Szerver
- iKing.Hu - Apple iPhone 14 Plus - Yellow - Használt, karcmentes
- BESZÁMÍTÁS! Gigabyte Z370M i5 9400F 16GB DDR4 512GB SSD RX 5700XT 8GB ZALMAN S2 TG Corsair S650W
- Bomba ár! Dell Latitude 3550 - i5-5GEN I 4GB I 500GB I 15,6" HD I HDMI I Cam I W10 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged