キー入力の割り込みを身に着けようと思ったら、まだ通常の割り込み入力も行っていなかった。
慌てて、下記プログラムを記載。
はまった点
・Serial標準出力を使うときには、stdio_init_all();を入れないとダメだった。
全然GPIO入力と関係ない所ではまりました。
その他はすなおに作れました。。。
ボタンを押した回数のカウントです。
キー入力の割り込みを身に着けようと思ったら、まだ通常の割り込み入力も行っていなかった。
慌てて、下記プログラムを記載。
はまった点
・Serial標準出力を使うときには、stdio_init_all();を入れないとダメだった。
全然GPIO入力と関係ない所ではまりました。
その他はすなおに作れました。。。
ボタンを押した回数のカウントです。
今日はタイマー割り込みをしてみた。
結構APIがしっかりしていて、下記のようにPWMのプログラムをタイマー割り込みVerに変更してみた。
参考は下記サイト
https://qiita.com/keyyum/items/3ce448c098c546dced20
続いてPWMを動かしてみます。
LEDをGPIO 22に付けました。
ので 22ピンのPWMを動かしてみます。
ソースコードは下記のように周期的にPWM周期を変えてみました。
ハマった点は3か所
1)#include "hardware/pwm.h" をインクルードする。。。
2)uint slice_num = pwm_gpio_to_slice_num(22); ここはGPIO番号を入れれば良いらしい。
3)一番最初にBuildできなかったのが、CMakeLists.txtに記載が必要だった。
# Pull in our pico_stdlib which pulls in commonly used features
target_link_libraries(pwm pico_stdlib hardware_pwm)
これだから人気でないんだよな~
UART0は色々なPINから出力できるようだ。
今回は16,17ピンからFT232Cに出力させたい。
こんな感じでできました。
GPIOの番号で出力ピンを設定するのね。。。
USBケーブルの抜き差しが面倒臭い。
リセットボタンを追加してリセットしながらBOOTボタンを押して、リセットを話してからBOOTボタンを離せば。
USBケーブルを抜き差ししないでも、書き込めれるらしい。
無事ビルドできたので、サンプルプログラムを実行してみた。
こちらも開発環境を参考したページから
https://shinog.jp/computer/raspberry-pi/pico-windowsvisual-studio-code%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83%e8%a8%ad%e5%ae%9ac-c%e8%a8%80%e8%aa%9e%e3%81%9d%e3%81%ae%ef%bc%92/
同じように実施。
Makefileを作らないとならないのね~
めんどうくせ~
ベースのMakefileを一括でファイル名を置換して使い回すんだね。。。
あと良くわからないけど、pico_sdk_import.cmakeもサンプルからとってきて使い回すとの事、
なんだかな~
これだと、人気でないな~ と思いながらも、できた。
Picoに書き込むときに一悩み。。。
Picoのプッシュボタンを押しながらUSBを刺すと。
エクスプローラーで見えた。
そしたら事項ファイル XXX.uf2 ファイルをドラッグアンドドロップで書き込み終了!
色々マイコンを見ていたら、昨今の半導体不足でなかなか安い良いマイコンが無い。
ふと、見るとRPI picoが600円で在庫も結構ある。
この先の供給もよさそうなので、こちらをメインのマイコンにしようと環境立ち上げを始めた。
基本的にはWindows環境でプログラミングをする。
基本的にはこのページ通りに立ち上げた。
https://shinog.jp/computer/raspberry-pi/pico-windowsvisual-studio-code%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9Ac-c%E8%A8%80%E8%AA%9E%E3%81%9D%E3%81%AE%EF%BC%91/
その通りに実施したが、しっかりハマった。
Visual Studio codeを普通に今までのPython開発環境のショートカットから立ち上げたら、うまくBuildできない。
picoの開発環境を入れた所にできるショートカットから立ち上げないとエラーになる。
数時間悩みました。。。