タグ付けされた質問 「avr」

AVRは、Atmelが開発した8ビットおよび32ビットのマイクロコントローラーコアです。AVRは、人気のあるArduino SBCのマイクロコントローラーとして選ばれました。

3
ブートローダーとは何ですか?
AVRマイクロコントローラーがブートローダー(Arduinoなど)で使用する多くのプロジェクトに出会ったことがありますが、その概念をよく理解していません。 ブートローダーを作成するにはどうすればよいですか(マイクロコントローラー用)? ブートローダーを作成した後、マイクロコントローラーにどのようにプログラムされますか(AVRのフラッシュROMで焼き付けられた.hexプログラムなど)。

17
Arduino IDEの完全な代替品ですか?[閉まっている]
私は公式のArduino IDEの(ビジュアルに関して)そんなに大したファンではないので、より良い代替物を探し始めました。ただし、私が見つけたプロジェクトのほとんどはアルファ版またはベータ版であり、通常は不完全です。 私は回路基板プログラミングを100%初心者であり、以前Arduinoを使用したことはありませんが、Arduino IDEを集めたものは、ボードへの実際の書き込みを行うavrライブラリの単なるラッパーです。他の「arduinoのようなデバイス」IDEは可能なオプションですか? 繰り返しますが、私はこれに非常に新しいので、ユーザーフレンドリーがいいでしょう。
50 arduino  avr  ide 

10
ArduinoでAVRが使用されるのはなぜですか?
ArduinoがAVRを使用しているのはなぜですか?それらは公式のプロセッサであることは理解していますが、コスト以外のコードをARMやフリースケールアーキテクチャに移植できない理由はありませんか?オンボードメモリがある限り、これらの部分に簡単に移行できると考えました。 業界には多くのARMが存在し(すべてのベンダーが設計に取り組んでいるようです)、Arduino開発者の世界にこれほど受け入れられないのはなぜだろうと思っていました。
41 arm  avr  freescale  arduino 

10
SPIまたはI2C:長いバスに使用するもの
私は、バスを介して互いに通信する複数のAVRを必要とするプロジェクトを考えています。それらは6フィートも離れているでしょう。 I2CとSPIの両方がバスを介して一連のマイクロを通信できるように思えますが、それがどれほど長くなるかについては何も話していません。誰かがこれらのプロトコルを数フィートの距離で接続しようとしましたか?

1
wdt_disable()を呼び出してウォッチドッグタイマーをオフにしようとすると、AVRがリセットされるのはなぜですか?
AVR ATtiny84Aでウォッチドッグシーケンスを無効にすると、タイマーには十分な時間が残っているはずですが、実際にチップがリセットされるという問題があります。これは一貫性がなく、多くの物理パーツで同じコードを実行しているときに発生します。毎回リセットされるものもあれば、時々リセットされるものと、決してリセットされないものもあります。 問題を実証するために、私は簡単なプログラムを書きました... 1秒のタイムアウトでウォッチドッグを有効にします ウォッチドッグをリセットします 白色LEDを0.1秒間点滅させます 白色LEDを0.1秒間点滅させた ウォッチドッグを無効にします ウォッチドッグの有効化と無効化の間の合計時間は0.3秒未満ですが、無効化シーケンスの実行時にウォッチドッグリセットが発生する場合があります。 コードは次のとおりです。 #define F_CPU 1000000 // Name used by delay.h. We are running 1Mhz (default fuses) #include <avr/io.h> #include <util/delay.h> #include <avr/wdt.h> // White LED connected to pin 8 - PA5 #define WHITE_LED_PORT PORTA #define WHITE_LED_DDR DDRA #define WHITE_LED_BIT 5 // Red …
34 arduino  avr  attiny  watchdog 


5
Game Boy Advanceのようなデバイスはどのようにフレームレートを達成しますか?
私は、AVRマイクロコントローラーと小さなOLEDディスプレイをベースにした独自のハンドヘルドゲームデバイスを設計しています。 128x64ピクセルのモノクロディスプレイから始めて、毎秒60フレーム以上で快適に描画できます。 最近、私はそれを作り直して、RGB OLED、128x128ピクセルを使用しました。実際に考えすぎずに、約4 FPSしか達成できなかったことがわかりました。少し考えて慎重にリファクタリングした後、他に何もしなくても大丈夫なら最大12fpsになります! 私の質問は-GBA(Game Boy Advance)のようなデバイスはどのようにしてほぼ60fpsのフレームレートを達成したのですか?別の「グラフィックスプロセッサ」を使用することを考えましたが、それでも表示データを転送するのがボトルネックになることに気付きました。 また、これらの画面のほとんどが持つ傾向のある8ビットパラレルインターフェイスを使用することについて疑問に思いました。これは、シリアルとビットのようにハードウェアパラレルインターフェイスを持たない現代のMCUを除き、8倍のスピードアップにつながる可能性があります叩くと、速度が大幅に向上します。 他にどのようなオプションがありますか? 現在、USART-SPIを介してSSD1306 OLEDコントローラーに接続されているATmega1284Pを使用しています。それがモノクロ版です。 カラー画面はSSD1351で、元々ハードウェアSPIに接続されていませんでした。私はそれが十分な違いを生むと確信していませんでした、全体的に遅すぎるだけです より高速なMCUを入手できることは知っていますが、他にどのようなオプションを検討できるかを知りたいと思います-GBAプロセッサは私の1284よりもかなり遅いです!

2
ドローン用のPCB
私はドローンを作っているので、誰かがPCBレイアウトに関する私の作業をレビューできるといいのですが。 画像(赤が上、青が下、丸は穴を示し、側面の転写は紫が接着剤です): 何が起こるはずです: 無線からの入力はPWM 1〜6で、これは操縦stickの生の値を入力するRF受信機です。 ボードは、ICE 10コンポーネントを介してプログラムできるようになっています。 MCUは、BMI055(加速度計)およびGPSから入力を取得し、有効に解析できるようになります。 Li-po入力はバッテリーを読み取るためのもので、各ワイヤ(最初のワイヤ以外)はセルです。 現在、Auxコンポーネントは関係ありません。 PWM 7-12は出力であり、モーターを制御するESCの束に行きます。 たくさんの受動的要素が欠けているように感じます。PCBは私が見た他のもののようには見えません(いくつかの抵抗と高度なコンポーネントを備えた3つのコンデンサしか持っていません)。 コンポーネント参照: GPS:RXM-GPS-R4 MC1:AC32UC3 U2およびU3:クリスタル U1、AUX1、AUX2、すべてのPWM、U13、およびU14:コネクタ REG1:LD1117(3.3V 800mA) ACL1:BMI055 3軸加速度計 USB:タイプBジャック ANT1:GPSアンテナ TANTCAP:33uFタンタルコンデンサ

2
ビットバンギングとは
私はマイクロコントローラのプログラミングは初めてです。ATmega32-AコントローラーとCodeVisionAVRコンパイラーを使用しています。SPI通信を使用して正弦波信号を生成するために、波形ジェネレーター(AD9833)を使用しています。サイン波を正常に生成できました。今、私はその信号をセンサーに渡しています。センサーの出力はマルチプレクサを介して選択され、ADCに送信されます。次に、SPI通信を使用してADC値を読み取ります。ADCのレジスタをセットアップするために多くのことを試みました。それでも動作しません。SPI通信コードを確認するには、spi通信を使用した以前のポストADCレジスタ設定を参照してください。USART(RS232)通信を使用して、PC(PuTTY)に値を印刷しています。 誰かがビットバンギングを使用するようにアドバイスしました。私はその概念に新しいです。SPI通信のビットバンギングのコード例を教えてください。その手順を開始する方法は?誰も私に良い材料を提供できますか。外部ハードウェアは必要ですか? ピン接続を含め、これを書きました。 #define ADC_CS PORTB.3 #define MOSI PORTB.5 #define MISO PINB.6 #define SCK PORTB.7 void send_8bit_serial_data(unsigned char data) { int i; ADC_CS=0; for (i = 0; i < 8; i++) { // consider leftmost bit // set line high if bit is 1, low if bit is 0 if …

6
Atmel AVRがなぜそんなに人気があるのですか?
最近の質問では、さまざまなタイプのMCUの利点/欠点について尋ねられました。AVRは、答えを考えると言及する価値すらありませんでした。それでは、AVRの人気が急上昇していると部外者に思われるのはなぜですか?これは単にArduinoによるものですか、それともAVRを特に優れたマイクロコントローラーにする何かがありますか?

6
シリアルプロトコルの区切り/同期技術
非同期シリアル通信は今日でも電子機器に広く普及しているため、私たちの多くはそのような質問に時々出くわしたと思います。電子デバイスDと、PCシリアル回線(RS-232または同様のもの)で接続され、継続的に情報を交換する必要があるコンピューターを検討してください。すなわち、PCそれぞれコマンドフレームを送信しており、それぞれステータスレポート/テレメトリーフレームで応答しています(レポートはリクエストへの応答として、または独立して送信できます-ここでは実際には関係ありません)。通信フレームには、任意のバイナリデータを含めることができます。通信フレームが固定長パケットであると仮定します。X msDY ms 問題: プロトコルは継続的であるため、受信側は同期を失ったり、進行中の送信フレームの途中で「結合」したりする可能性があるため、フレームの開始(SOF)がどこにあるかはわかりません。Aデータは、SOFに対する相対的な位置に基づいて異なる意味を持ち、受信したデータは破損する可能性があり、永久に破損する可能性があります。 必要なソリューション 短い回復時間でSOFを検出するための信頼性の高い区切り/同期スキーム(つまり、再同期に1フレーム以上かかることはありません)。 私が知っている(そして使用している)既存のテクニック: 1)ヘッダー/チェックサム -事前定義されたバイト値としてのSOF。フレームの最後のチェックサム。 長所:シンプル。 短所:信頼できません。不明な回復時間。 2)バイトスタッフィング: 長所:信頼性が高く高速な回復で、どのハードウェアでも使用可能 短所:固定サイズのフレームベースの通信には適していません 3)9番目のビットマーキング -各バイトに追加ビットを追加します。SOFでマークされたSOF 1とデータバイトには次のマークが付けられ0ます。 長所:信頼性が高く、高速な回復 短所:ハードウェアサポートが必要です。ほとんどのPCハードウェアおよびソフトウェアでは直接サポートされていません。 4)8番目のビットマーキング -上記の一種のエミュレーション。9番目ではなく8番目のビットを使用し、各データワードに7ビットのみを残します。 長所:信頼性の高い高速リカバリは、どのハードウェアでも使用できます。 短所:従来の8ビット表現と7ビット表現の間のエンコード/デコードスキームが必要です。やや無駄だ。 5)タイムアウトベース -定義されたアイドル時間の後に来る最初のバイトとしてSOFを想定します。 長所:データオーバーヘッドなし、シンプル。 短所:それほど信頼できません。Windows PCなどのタイミングの悪いシステムではうまく動作しません。潜在的なスループットのオーバーヘッド。 質問: 問題に対処するために存在する他の可能な技術/解決策は何ですか?上記のリストで簡単に回避できる短所を指摘できますか?システムプロトコルをどのように設計しますか(または設計しますか)?
24 serial  communication  protocol  brushless-dc-motor  hall-effect  hdd  scr  flipflop  state-machines  pic  c  uart  gps  arduino  gsm  microcontroller  can  resonance  memory  microprocessor  verilog  modelsim  transistors  relay  voltage-regulator  switch-mode-power-supply  resistance  bluetooth  emc  fcc  microcontroller  atmel  flash  microcontroller  pic  c  stm32  interrupts  freertos  oscilloscope  arduino  esp8266  pcb-assembly  microcontroller  uart  level  arduino  transistors  amplifier  audio  transistors  diodes  spice  ltspice  schmitt-trigger  voltage  digital-logic  microprocessor  clock-speed  overclocking  filter  passive-networks  arduino  mosfet  control  12v  switching  temperature  light  luminous-flux  photometry  circuit-analysis  integrated-circuit  memory  pwm  simulation  behavioral-source  usb  serial  rs232  converter  diy  energia  diodes  7segmentdisplay  keypad  pcb-design  schematics  fuses  fuse-holders  radio  transmitter  power-supply  voltage  multimeter  tools  control  servo  avr  adc  uc3  identification  wire  port  not-gate  dc-motor  microcontroller  c  spi  voltage-regulator  microcontroller  sensor  c  i2c  conversion  microcontroller  low-battery  arduino  resistors  voltage-divider  lipo  pic  microchip  gpio  remappable-pins  peripheral-pin-select  soldering  flux  cleaning  sampling  filter  noise  computers  interference  power-supply  switch-mode-power-supply  efficiency  lm78xx 

2
AVRおよびPICコントローラーのファームウェア保護
私が提供するマイクロコントローラーで焼いたHEXファイルを誰かが抽出できますか? それが可能な場合、誰かが自分のコードが組み込みシステムで保護されていることをどのようにして確認できますか?PICおよびAVRマイクロコントローラーの場合、どのようにしてファームウェアが複製されないように保護できますか?
23 pic  avr  embedded  firmware 


3
AVR-LinuxでAVRチップをプログラムする方法
私は最近、AVRISmkII AVRプログラマーを手に入れました。ATtiny85とATmega328を持っています。どのようにこれらのチップを(プログラマーで)プログラムできるのかと思っていましたが、Atmel Studio 6を入手しようとすると、それはWindows専用です。Linux(特にUbuntu)で使用できる方法はありますか?Antの提案?ありがとう!
22 avr  linux  programmer 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.