絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

3 件中 1 - 3 件表示
カバー画像

MicroPythonで遊んでみる (3) ファイルシステム

 コマンドで逐次実行する、所謂REPLを堪能しました。とりあえずファイルに保存したいですね。マニュアルを見るとホストPCからUSBのマスストレージとしてドライブが共有されるようです。 Dドライブですね。ここにファイルを・・・。あれ?これはSTM32のMBEDのドライブ。そうです、ここはST-Linkを経由した仮想UARTなので、ターゲットのCPUを直接見ているわけではありません。なのでUSBデバイスでは無いわけで、じゃあどうしますのん? まずはREPLに帰ってきますと、モジュールosでファイルサービスがあるようです。>>> os.listdir()['main.py', 'boot.py'] お、ファイルがありますね。main.pyというのが起動時のユーザー用ファイル。古参ではAutoExec.batでしょうか。 とはいえ、viとかnanoとかエディタは無いようです。むむむ、しょうがないのでスクリプト組んでみますか。>>> with open('boot.py') as f:... print(f.read())...# main.py -- put your code here! main.pyさん中身は空っぽでした。じゃぁこちらもスクリプト書いてみましょう。>>> with open('main.py','w') as f... f.write('# main.py -- put your code here!\n')... f.write('pyb.LED(1).toggle()\n')...33
0
カバー画像

MicroPythonで遊んでみる (2) CPUクロック

 前回はコアの最高周波数が180Mhzなので勝手に最速設定と思い込んでいました。確認の為、システムの情報を見てみることにしました。>>> import machine>>> machine.freq()(168000000, 168000000, 42000000, 84000000) 4つ!マニュアルを見ても詳細が無いので、あとでソースでも眺めてみましょう。セグメント毎の分周かもしれません。180Mhzではありませんでした。 ほう、動的に変更できるのですね。省電力などに応用できそうです。じゃあ半分に。>>> machine.freq(84000000) (無応答)・・・。未実装か?ならエラーとか返してくださいよ?。あ、でも180Mhzにしてない理由はペリフェラルの切りのいいクロックが必要なのかも。USBもイーサーもないですが。UART?? もしやと思いボーレートをみると、現在115200、まさかね。と57600に変更。>>>  帰ってきた!まさかのシリアルクロックが連動しています。>>>>>>>>> print('Hello !!')Hello !! クロックを元に戻しまして、>>> machine.freq(168000000) ボーレートも戻しますと、再び復帰します。 こういったところが組込みの面白さだと思いますがどうでしょう。
0
カバー画像

MicroPythonで遊んでみる (1) Getting started!

 組み込み界隈もどんどん高機能になっておりまして、もうCじゃなくても良いのでは?と発作のように思い浮かべては次の日には忘れている今日この頃でございます。 とは言ったものの些細な変更もコンパイル面倒だしいいか~、などと先延ばしにしている事柄もスクリプトならサクッと修正していたのではないかと後悔なんかしてみたりもします。 これまでもいくつか試してみているのですが、その時はうまく用途にあわなかったようでして、試食で終わってしまう顛末でした。 以前はライブラリの追加が大変な印象だったのですがバージョンアップで動的追加ができるようになっているみたいですので、再びMicroPythonで遊んでみることにしました。 今回は手持ちのSTM32F446 Nucleo64をターゲットにします。ビルド済みバイナリが提供されていますので環境構築はあっさりです。 古の遺跡El Tikal (注:Lチカ)などもこんな塩梅です。>>> while 1:... pyb.LED(1).toggle()... pyb.delay(250) ディレイを外して速度の計測といいますとCortex-M4 180MHzのコアなのですが>>> while 1:... pyb.LED(1).toggle()Arduinoの半分以下?・・・。ハード周りはギリギリまでCでモジュール化してアプリケーションロジックだけをPythonで書くしかないのかな。
0
3 件中 1 - 3
有料ブログの投稿方法はこちら