ラズパイ・ピコをArduino IDEで動かそうとしたけど
ラズパイ・ピコ、PCとつないだらドライブとしては認識
してくれたんで「.uf2」ファイルのアップロードはでき
ました。
普通ならその後、USBがCOMポートとして生きるはず
なんだけれど、それがダメ。
本に書いてあることやネットの情報を試しましたが、
COMポートになりません。
※zadig.exeでゴソゴソしてもあきません。
※インターフェースの記事はArduino IDEで簡便
にっということじゃなく、本格的ツールで使おう
という話が中心です。
開発で使っているメインのPCがWin7なもんで、それが
原因なのかと・・・
「USBDeview.exe」で見ると、COM33として認識はされて
いるようなんですが、それが出てきません。
「デバマネ」に「!」付で現れたりもしたのですが、
動きません。
眠っているUSBを動かすためのツールがあるのかもしれません。
Arduino IDEでコンパイルした結果はピコにアップでき
るので試運転は可能。
USBでのシリアル通信がダメなので、Serila1を使って
みました。
GP0ポートに出ているUART0_TXをPCのターミナルに送り
込んでという手筈です。
書き込み時、BOOTSELスイッチを押しながらいったん
ドライブにしなければならないので、リセットスイッチを
設けました。
※ピコはリセットという信号名じゃなく、
RUNという名のHアクティブ信号です。
BOOTとRUNのスイッチを両方押さえて
先にRUNを離すとドライブになり、
Arduino IDEでのコンパイルが終わったら
アップロードしてくれます。
その後、ドライブが消えて勝手にRUN。
テストにこんなスケッチを書いてみました。
millis()で1秒を待つ間、digitalWriteでポート出力を
H/Lして応答速度を確かめます。
void setup() {
Serial1.begin(9600); // UART0:GP0に出力
pinMode(2, OUTPUT); // GP2
pinMode(25, OUTPUT); // LED
}
void loop() {
uint32_t t;
float f;
char msg[20];
byte po = 0;
t = millis() - 1000; // 1秒前にセット
f = 0.00; // 1秒ごとに0.01を加算
while(1){
if((millis() - t) >= 1000){ // 1秒経過?
t = millis();
f += 0.01;
if(f >= 100.00) f = 0.00;
sprintf(msg, "%6s %6.2f", // 浮動小数点変換できる?
"Test", f);
Serial1.println(msg);
digitalWrite(25, po); // LED点滅
po ^= 1;
}
else{ // 1秒経過待ちの時
digitalWrite(2, HIGH); // H/L出力
digitalWrite(2, LOW);
}
}
}
ピコ、さすがにARMマイコン。
printfで浮動小数点の変換が有効です。
UNO(ATmega328P)とは違うぜっといったところ。
※処理時間の様子
ピコを使いこなすにはまだまだです。
※ARMマイコン、STM32F407なんかは仕事で
使ったんですが。
タイマー割り込みやA/D変換割り込み、外部パルス割り込みを
手懐けなくちゃなりません。
| 固定リンク
「ラズパイ・ピコ」カテゴリの記事
- マイコン出力ポートのプルアップ、プルダウン問題 誤パルス出力を避けるために(2022.05.02)
- Raspberry Pi Pico リセット起動後のポートはプルダウン抵抗が有効に(2022.05.01)
- Arduino IDEでRaspberry Pi Pico:シリアル受信バッファを増やす(2022.04.20)
- Arduino IDEでRaspberry Pi Pico:millisをwordで処理した時の異常(2022.04.19)
- Arduino IDEでRaspberry Pi Pico:BSch3V部品ライブラリ(2022.04.18)
コメント
3つ目のオシロ波形、やけにloop時間が長いような・・・
テストパルスのH幅がは0.5usほどなのに、loopが11us。
待っているのはこの処理。
while(1){
if((millis() - t) >= 1000){ // 1秒経過?
:
while(1)の時間が長いのは考えにくい。
ということは、「millis()」の処理なの?
現時点、ちょっと不明。
投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年4月 4日 (月) 15時40分
USBをCOMポートとして認識してくれない問題、解決しました。
http://igarage.cocolog-nifty.com/blog/2022/04/post-e95f56.html
ありがたや:トラ技2022年5月号。
投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年4月13日 (水) 10時00分