Lite Banging med Raspberry pi för I2C kontroll med perl (4 / 5 steg)
Steg 4: I2c kommandon med perl
I2c kommandona på Raspberry pi tenderar att arbeta med strängar. i2cset, i2cget är vanliga kommandon användning. Ett sätt att använda dessa i ett perl-skript är med i '' (tillbaka fästingar) metod. Du kan bygga upp kommandot till en sträng och sedan skriva ut strängen till skärmen för att kolla sedan köra samma sträng. Denna förmåga att skriva kommandot tillåter snabbare debug. Här är ett exempel för att läsa ett register
$command = "i2cget -y 1". $i2c_address. " ". $i2c_port." \n";
Detta bygger upp en sträng som är sammanfogning av data i citattecken med variablerna $i2c_address och $i2c_port
Nu att se strängen bara printf "%s", $command;
Att köra strängen och hålla det returnerade värdet och returnera fel
$read_value = ' $command 2 > & 1';
På denna punkt kommer att det returnerade värdet vara en sträng av data som finns i registret förutsatt att Läs gick ok, om inte felet kommer att finnas i $read_value;
Om du vill ändra resultatet till en hex värde måste du göra följande
$read_value = hex($read_value);
Nu kan du arbeta med data som visas i tidigare avsnitt