すぐ忘れてしまう。
2022年6月16日木曜日
2022年6月14日火曜日
Raspberry Pi Pico PIOが少し理解できた。1回目
Interface誌のPIOの解説を読んだが、まったく理解できなかった。
しょうがないので、先人たちの知恵をGoogleで探してようやく少し理解できた。
ヒントはこのサイトにあった。
https://qiita.com/keyyum/items/aa171aa295b714bb8467
先ず私が誤解していたのが
OUT命令だった。
OUT pins, 2
てっきり一つの端子から、TX FIFOに入ったデータが2ビット分で出来るのかと思っていたが、間違いで、イメージとしては2つの端子に出力するコマンドらしい。
よって下記のように書くと OSRからデータを引っ張ってきてOSRから2ビット分を2つの端子に出力するという事のようだ。
loop: pull ; TX_FIFOからOSRへデータをPULL out pins, 2 ; OSRから2bit分出力ポートへ jmp loop ; 先頭に戻る
もう一つ勘違いしていたのが、上記の命令を行った後、ようはTX FIFOからデータをpullするとデータは空になると思っていたが、FIFOのデータは空にならなく、下記プログラムのようにFIFOを書き換えるまではキープされるようだ。
pio_sm_put_blocking( pio, sm, 0x0001 ); /* ( GPIO3, GPIO2 ) = ( L, H ) */
/* TX FIFOにデータを書き込み */ sleep_us( 1 ); /* 1us待機 */ pio_sm_put_blocking( pio, sm, 0x0002 ); /* ( GPIO3, GPIO2 ) = ( H, L ) */ /* TX FIFOにデータを書き込み */
ここまで理解するのに1週間が掛かった。
2022年5月18日水曜日
raspberry pi 初期設定 2022
焼きたてのSDカードから
先ずはSSHが使えるようにする。
Wifiの設定はモニターを繋いでから初期設定で実施。
続いて、エディター vim と パーテーション情報を見たかったので Gparted をインストール
さて、では順を追って設定
① dhcpd.configで固定IPに変更 sudo vi /etc/dhcpcd.conf
ファイルの最後に下記文言を張り付け
私の環境では、Windows マシンで環境を確認。
interface wlan0
static ip_address=192.168.1.71/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
② /の直下にsshという空ファイルを置く。
そうすると SSHで入れるようになった。
③ 日本語化
sudo apt-get install ibus-mozc
④ リモートデスクトップ
sudo apt-get install xrdp
sudo systemctl enable xrdp # 自動起動が不要な場合は実行しない
ラズパイコンフィグでもおまじない。
sudo raspi-config
2 Display Option > D4 Screen Blankingと選択していきます。
Would you like to enable screen blanking?
と聞かれますのでYesを選択してエンターキーを押します。設定が完了すると再起動を求められますので再起動します。
これで、一通り困らなくなるので、あとは入れたいソフトを入れ行くだけ。
2022年5月8日日曜日
raspberry pi のwifiを無効化する方法
忘れないように。。。
良く忘れる。
Wifi無効化
sudo iwconfig wlan0 txpower off
Wifi有効化
sudo iwconfig wlan0 txpower auto
2022年5月7日土曜日
Raspberry Pi Pico プログラミング事始め。I2Cを使うぞの巻
結構前日までは、スムーズに進んだのですがI2Cでは色々とハマりました。
AQM1602のLCDを動かそうと思って作業をしましたが、いろいろとハマりようやく表示できました。
動かしたのは秋月のこんなやつ、一番安いやつですね。
はまったポイントはいっぱい。
今日の段階では何とか動いた感じである。
波形が出ているかもわからず。。。
やっぱりオシロ欲しいな。。。
i2c_write_blocking( , , , ,true) だと動かない。。。
2022年5月5日木曜日
Raspberry Pi Pico プログラミング事始め。SWでのHW割り込み
続いてSWでのHW割り込みをかけてみた。
特にハマるところはなし。
callback関数が呼び出されたら、割り込みを一度OFFして関数を抜けるときに再度割り込みをONにする。
Raspberry Pi Pico プログラミング事始め。GPIO 入力。
キー入力の割り込みを身に着けようと思ったら、まだ通常の割り込み入力も行っていなかった。
慌てて、下記プログラムを記載。
はまった点
・Serial標準出力を使うときには、stdio_init_all();を入れないとダメだった。
全然GPIO入力と関係ない所ではまりました。
その他はすなおに作れました。。。
ボタンを押した回数のカウントです。