問題タブ [atmel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arduino - IODIR、IOSET、PORTD の代わりに ASF で使用される関数
以前にマイクロコントローラーをプログラムし、IODIR、IOSET、PORTD、DDRD などの命令を使用しました。現在、ATSAM3X8E Cortex M3 マイクロコントローラーを搭載した Arduino Due を使用しています。Atmel Studio 6 を使用して Arduino Due をプログラミングしています。SAM3X マイクロコントローラーは IODIR、IOSET、PORTD を使用していないことがわかりました。私の質問は、誰かが IODIR、IOSET、および PORTD に対応する機能を教えてくれるかどうかです。プログラムには Atmel Software Framework (ASF) も使用しています。
たとえば、Atmel Software Framework (ASF) を使用してこれを行うにはどうすればよいですか? PORTD &= ~(1 << RS);
embedded - Register access in ATMEGA32 & Debugging of Serial Communication Atmel Studio
I am working upon ATMEGA32 and programming it with the help of Atmel Studio 6.0.............
In ATMEGA32, there are 32 general purpose registers starting from R00 to R31........but how can i use those registers directly in c language in Atmel Studio 6.0.......
R00 = x; instruction does not work...................so i am forced to use integer variables, but i want to use inbuilt registers so i can easily debug it how can i do it??????
My 2nd question is i am using USB to serial asynchronous communication, so while debugging i want that some value should be passes virtually via serial communication so that i can check my code...................how can i do that in Atmel Studio 6.0??????
atmel - ATMEGA32 UART通信
ATMEGA32 で UART 非同期通信用のコードを書いていますが、UCRC と UBRRH のレジスターに 2 つの diff 値を与える方法がわかりません。これらのレジスターは同じ場所にあり、それらの機能に従って、これらのレジスターに 2 つの diff 値が必要です。
データシートによると、UCRCC に書き込むには URSEL ビットをセットする必要があり、UBRRH に書き込むには URSEL ビットをリセットする必要があります。しかし、Atmel Studio 6.0 では、URSEL = 1 は両方のレジスターに何も書き込みません。一方、URSEL = 0 の場合、両方のレジスターに同じ値が書き込まれます (これらのレジスターに割り当てられた作業のために、これは必要ありません)。 .......
私は Atmel Studio 6.0 デバッガーでこれらすべてをチェックしました。
c - ADC サンプルレートの設定。データシートの読みにくさ
私は現在、UC32 データ シートを収容する EVK1104 という atmel マイクロ コントローラーを使用しています。私たちは実際にこのチップをカスタム PCB に実装しており、さらにファームウェアを作成中です。
現在、マイクロ コントローラー ユニット (MCU) の ADC に (8k サンプル/秒) でサンプリングするように指示する必要があります。実際には、これはマイクをサンプリングするためのものです。いずれにせよ、ドキュメントは非常に不明確であり、明確化を求めていました。
サンプリングレートを変更するには、モードレジスタと呼ばれるものを変更する必要があることを知っています。これは、ADC を使用するように構成するために使用されるレジスタです (上記のリンクの pg 799)。これは、サンプル/ホールド時間/起動時間、および ADC クロックを変更できるレジスタです。
私が収集したものから、ADCClock を 8Khz で動作させるために PRESCAL を変更するだけで済みます。問題は、PRESCAL が 8 ビットの分解能に制限されていることです。
たとえば、コントローラーが 12Mhz/x = 8Khz に設定されている場合、x は 1500 である必要があります。前に述べたように、x は 8 ビットに制限されているため、最大値が 255 であるため、これは不可能に見えます。
ここで何か間違ったことをしている、またはデータシートが何を望んでいるかを理解していないと感じています。私が今話したことを確認したり、私を導くのを手伝ってくれる人はいますか?
usb - LUFA ライブラリに関連する USB 記述子の理解
LUFA ライブラリが USB 記述子を処理する方法を誰か説明してもらえますか? ライブラリのソースに返された例の記述子をたどることができないようです。それらはどのように機能しますか?フラッシュ メモリの特定の場所にプログラムされていますか?
ありがとう、ジョージ
timer - Arduinoナノタイマー
Arduino Nanoタイマーについてもっと知りたいです。
- どんなタイマーがありますか?
- それらは割り込みを生成しますか?
- それらに割り込みハンドラをアタッチするコードはどれですか?
- どのよう
delay()
にdelayMicroseconds()
実装されています...- 彼らはタイマー割り込みを使用していますか?(そうであれば、この間に他のコードを実行するにはどうすればよいですか?)
- それとも、タイマーが特定の値に達するまで繰り返しポーリングしますか?
- それとも、値を X 回インクリメントしますか?
- それとも彼らは別の方法でそれをしますか?
arduino - Arduino UNO analogRead は常に 1023 を返します
だから私の問題は、タイトルが言うように: Arduino UNO analogRead は常に 1023 を返します。
しかし、同じスケッチを Arduino Mega 2650 に書き込むと、すべてがうまく機能します。
UNO の Atmel チップを変更しようとしましたが、そのうちの 3 つ (ATMEGA328P-PU) を試してみましたが、何も変わりませんでした。
ホール効果センサーからの信号をカウントし、そのカウントを 7 セグメント ディスプレイに表示しようとしています。
コードは次のとおりです。
どんな助けでも大歓迎です