-
Fototrend
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ása
byte 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ása
char chrFloat[] = "";; // string létrehozása
char buffer[10]; // character tömb létrehozása
dtostrf(adat, 6, 4, buffer); // 6 szélesség, 4 a precizitás; adat float átalakítása a buffer változóba
strcat( 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áig
writeEEPROM(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ása
newStr[i] = 0;
Serial.println(atof(newStr),2); // ASCII konvertálása float-ba 2 tizedessel
}
// Egy byte írása
void 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őle
Wire.write((byte)eeAddr & 0xFF); // Legkisebb helyiértékű byte írása, LSB kimaszkolása bitekkel ÉS 0-kkal
Wire.write(data);
Wire.endTransmission();
delay(5); //5ms várakozás
}
// Egy byte olvasása
byte readEEPROM(int devAddr, unsigned int eeAddr )
{
byte readByte = 0;
Wire.beginTransmission(devAddr);
Wire.write((byte)eeAddr >> 8); // A legnagyobb helyiértékű byte írása
Wire.write((byte)eeAddr & 0xFF); // A legkisebb helyiértékű byte írása
Wire.endTransmission();
Wire.requestFrom(devAddr,1);
if (Wire.available())
readByte = Wire.read();
return readByte;
}
Új hozzászólás Aktív témák
- Sony MILC fényképezőgépcsalád
- Mibe tegyem a megtakarításaimat?
- Itt dől(het) el, hogy mi lesz otthon kapható - Hong Kong Electronic Trade Fair
- Felforgatná Kína a technológiai világrendet
- gban: Ingyen kellene, de tegnapra
- ROG Xbox Ally X: Összefogás
- Linux kezdőknek
- Battlefield 6
- GB10 Superchipre épülő minigépet villantott az ASUS
- Apple MacBook
- További aktív témák...
- Telefon felvásárlás!! Samsung Galaxy A13/Samsung Galaxy A33/Samsung Galaxy A53
- Eladó egy oneplus 9 pro 256/12
- Samsung Galaxy S25 Ultra Titanium Jetblack Titán dizájn, 120 Hz AMOLED, AI Pro kamera
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- HIBÁTLAN iPhone 11 Pro 64GB Space Grey -1 ÉV GARANCIA - Kártyafüggetlen, MS3538
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest