Hirdetés
- Billentyűzet-választó: mechanikus vs membrános – kinek melyik a jobb?
- Kisétvágyú Radeon RX 9060 XT-t hozott az AMD
- Milyen DVD-írót vegyek?
- Milyen notebookot vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- VR topik
- ThinkPad (NEM IdeaPad)
- Házimozi belépő szinten
- Az Enermax tényleg nem viccel, ha az új tápjának garanciaidejéről van szó
- Több száz játékban kezdi meg karrierjét az FSR Redstone
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
Ezt a példaprogramot kommenteztem be:
#include <Wire.h>#define xAddr 0x50 //külső EEPROM cím definiálásabyte i;char buffer[10];char newStr[10];unsigned int eepromAdd = 0;float adat = 123.321;void setup(){Serial.begin(9600);Wire.begin();}void loop(){//Float konvertálása stringbe és EEPROM-ba írásachar chrFloat[] = "";; // string létrehozásachar buffer[10]; // character tömb létrehozásadtostrf(adat, 6, 4, buffer); // 6 szélesség, 4 a precizitás; adat float átalakítása a buffer változóbastrcat( chrFloat, buffer); // buffer character tömb összefűzése stringbe?// Átalakított string írása:for(byte i=0; i<=strlen(chrFloat); i++) // i ciklusváltozó a string hosszáigwriteEEPROM(xAddr, eepromAdd+i, chrFloat[i]); // 1 byte írása a// Adat kiolvasása és átalakítása float-ra:for(i=0; i<=strlen(chrFloat); i++)newStr[i] = readEEPROM(xAddr, eepromAdd + i); // 1 byte olvasásanewStr[i] = 0;Serial.println(atof(newStr),2); // ASCII konvertálása float-ba 2 tizedessel}// Egy byte írásavoid writeEEPROM(int devAddr, unsigned int eeAddr, byte data ){Wire.beginTransmission(devAddr);Wire.write((byte)eeAddr >> 8); // Legnagyobb helyiértékű byte írása, LSB-t jobbra shifteljük, hogy megszabaduljunk tőleWire.write((byte)eeAddr & 0xFF); // Legkisebb helyiértékű byte írása, LSB kimaszkolása bitekkel ÉS 0-kkalWire.write(data);Wire.endTransmission();delay(5); //5ms várakozás}// Egy byte olvasásabyte readEEPROM(int devAddr, unsigned int eeAddr ){byte readByte = 0;Wire.beginTransmission(devAddr);Wire.write((byte)eeAddr >> 8); // A legnagyobb helyiértékű byte írásaWire.write((byte)eeAddr & 0xFF); // A legkisebb helyiértékű byte írásaWire.endTransmission();Wire.requestFrom(devAddr,1);if (Wire.available())readByte = Wire.read();return readByte;}
Új hozzászólás Aktív témák
- Megbüntették, ezért feloszlatná az EU-t Elon Musk
- Billentyűzet-választó: mechanikus vs membrános – kinek melyik a jobb?
- One otthoni szolgáltatások (TV, internet, telefon)
- Crypto Trade
- Kisétvágyú Radeon RX 9060 XT-t hozott az AMD
- EAFC 26
- Arc Raiders
- Okos Otthon / Smart Home
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Milyen DVD-írót vegyek?
- További aktív témák...
- Keresünk Galaxy S21/S21+/S21 Ultra/S21 FE
- Apple iPhone 12 Mini / 256GB / Kártyafüggetlen / 12Hó Garancia / Akku: 89%
- Asus Zenbook 13 laptop Oled kijelző!
- GYÖNYÖRŰ iPhone SE 2020 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2183
- Apple iPhone 16 Pro Max Natural Titanium Titán dizájn, Pro kamera,100% akku,2026. 02. 11
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

