Hirdetés
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Samsung Galaxy Tab S11 - tizenegyes
- Androidos tablet topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Épített vízhűtés (nem kompakt) topic
- OLED TV topic
- RAM topik
- ROG Xbox Ally X: Összefogás
- Azonnali alaplapos kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
-
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
- LG 27GP850P-B - 27" NANO IPS - 2560x1440 - 180Hz 1ms - NVIDIA G-Sync - AMD FreeSync - HDR 400
- ÁRGARANCIA! Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5050 8GB GAMER PC termékbeszámítással
- Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló rugged
- Lenovo L14 Thinkpad Gen2 FHD IPS i5-1135G7 16GB RAM 256GB SSD Intel Iris XE Win11 Pro WiFi6 Garancia
- Lian Li LCD-s 360mm-es vízhűtés akciós áron eladó!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

