0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MSP430でI2C Slave

Last updated at Posted at 2023-10-05

PIC12F1822のI2C Slaveが不安定なのとMPLAB Xが重いので、部品棚のマイコンストックを見回してMSP430のI2C SlaveをPlatformIOで作ってみました。

もちろん開発はFreeBSDのBastilleBSDでおこないます。

githubを探したら以下のコードがありました。

このレポジトリのslave/srcをpioでビルドしてみます。

mspdebugはpioの物はライブラリがなくて動かないのでbastille pkgでFreeBSDのpkgをインストールしておきます。

% pio init --board lpmsp430g2553
ソースをコピー
% pio run
% mspdebug rom-bsl -d /dev/cuaU0 "prog .pio/build/lpmsp430g2553/firmware.elf"

以前timsp430を試した時は32Bitで試して上手くいかなかったようなのですが、64Bitではちゃんとパッケージがあってビルドできました。

ときどきmspdebugがターゲットを認識しない事があり、その時は接続しなおすと上手くいくことがあります。

USBのシリアルインターフェースがjail内でユーザ権限でアクセスできるようにしてあります。どっかに設定方法書いたような記憶があります。

I2Cのピンは以下のように接続します。

ピン 機能
1 VCC
20 GND
14(P1.6) SCL
15(P1.7) SDA

蟹さんのmruby on YABMでLチカできました。

# 初期化省略
MSPADDR = 0x48

loop do
    yabm.i2cwrite(MSPADDR, 0, 0)
    yabm.msleep 2_000
    yabm.i2cwrite(MSPADDR, 0, 1)
    yabm.msleep 2_000
end

FreeBSDでもいけました。

MSPADDR = 0x48

t = BsdIic.new(0)

loop do
    t.write(MSPADDR, 0, 0)
    sleep 2
    t.write(MSPADDR, 0, 1)
    sleep 2
end

PIC12はまともなオープンソースが無いのも辛いです。

蟹さんでreadすると落ちます。oz_

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?