月別アーカイブ: 9月 2021

AVR32DA32

ATmega4808とピンコンパチらしいAVR32DA32も入手してみました。

 AVR32DA32

1ピンを左上にすると印刷が縦になったのでびっくりしましたが、これでいいようです。

mega4808はヒートガンで剥がして、同じところにAVR32DA32を付けましたが、ちょっとずれてしまってブリッジしているところがあり、最初電源が入らずあせりました。表面実装部品をヒートガンで剥がすのは2回目ですが、ハンダが溶けたあとにICを取り上げるのが難しいです。今回も飛んで行ってしまいました。目も見えないし手も震えるし、年取ると大変です。

プログラムは、4808とUSART関係のレジスタ名が違う以外はそのまま動きました。USART0、WDT0、TCA0、TCB0を使っています。共通なところが多いのは助かります。AVR DAシリーズは消費電力も少ないそうで、3.3Vでも高速で動くので、4808よりこっちの方がいいかもしれません。これで新しいAVRシリーズがサクッとはいきませんが、なんとか使えそうです。

mega4808が動いた

mega328Pで動かしていたプログラムをmega4808に移植して、やっと動くようになりました。
開発環境もやっとAVRStudio4からMicrochipStudioへ変更しました。

mega4808

GLCDとRS485が繋がった回路をそのまま使いましたが、タイマー以外は名前を変えるぐらいでできましたが、タイマーの使い方はまだあやしいです。オシロで時間を見ながら、無理やり合わせました。どこかの設定が悪いんでしょうから、これから調べることにします。

6pinのISPから3pinのUPDIになったのもスペースが小さくなって良かったです。

でも、これを使う案件が無いんですよね。

追記
TCB0のクロックソースにTCAを64分割で入れたら計算通りの0.1sec割り込みが作れました。

追記2

I2C液晶をAtmel StartのI2C_0で動かしたらかなり遅かったので、ソフトI2Cに変えたら前と同じぐらいの速さに戻った。ADC(MCP3424)のreadも1/4になっているようだったが、これもソフトI2Cで正常に読み取れた。Atmel Startで生成されるルーチンに問題があるかもしれません。