ulab

MicroPythonとByteから整数へ

ee9king に投稿

MicroPythonで、I2Cでバイアスからのデータを入出力をする時、データをByte型で与えたり受けたりしないといけない。よくわかんなくて値を直接書いたりしていたのだが、どうもうまくいかず・・・

文字列で指定できれば楽だが値は文字列で表現できないため、書き込みの場合はコマンドバッファを作ってポインタを渡す

from machine import Pin, I2C
im = I2C(1,scl=Pin(19),sda=Pin(18),freq=10000);
cmd2=bytearray(2);
cmd2[0]=0x4E; # Command
cmd2[1]=0x02; # Data
im.writeto(0x68,cmd2);

で、読み込みの場合は、読み込みバイト数に合わせてBufferを作り取り出せばいいのだが、ここでByteOrderというエンディアンでつまづいた。

MicroPythonとnumpy

ee9king に投稿

Pythonつかうなら、Numpy?数値の演算や配列などでPythonで書く時、必ずこれを書く

import numpy as np

MicroPythonでもできるんでしょ?的な感じだったが、ググって読んでも読んでも難解・・コンピアルするとかビルドするとか、Linuxでとか書いてある。だから、Pythonこういうのが嫌いなんだけど。

最終的に、ビルド済みリリース版がここにあった。。picoもどきには、RPI_PICO.uf2を入れてみたらよかったようだ。これは、前回MicroPythonを入れる時に誘導されたファイルが RPI_PICO-20240222-v1.22.2.uf2 だったから、きっとこれだろうということだったわけだが、正解の模様

https://github.com/v923z/micropython-builder/releases