Hirdetés
- Szinte simogatja a pénztárcákat a Scythe új hűtője
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
- Házimozi belépő szinten
- Projektor topic
- Monitorkalibráló eszközök
- Milyen billentyűzetet vegyek?
- …és akkor a memóriapánik után beköszöntött a HDD-pánik
- VR topik
- TCL LCD és LED TV-k
- ASUS ROG Ally
-
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
- Arc Raiders
- Januártól igényelhető a kiskorúak tartalomvédelme a mobilszolgáltatóknál
- Akciófigyelő: Humble 'Worms 30th Anniversary' Bundle (PC)
- Szinte simogatja a pénztárcákat a Scythe új hűtője
- Battlefield 6
- Torrent meghívó kunyeráló
- Az SK Hynix elárulta, hogy meddig nem lesz elég memória
- Bitcoin topic
- Luck Dragon: Asszociációs játék. :)
- Házimozi belépő szinten
- További aktív témák...
- iPhone 13 128GB 92% (1év Garancia)
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
- magyar billentyűzet - 136 - Lenovo Legion Pro 7 (16IRX9H) - i9-14900HX, RTX 4080 - 4 ÉV GARANCIA!
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- Pixel 7 pro 128/8
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
ekkold

