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

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

4
GCCコンパイラが一部のコードを省略しているのはなぜですか?
GCCコンパイラが近隣のまったく同じコードを保持しながら、なぜコードの一部を切り取るのか理解できません。 Cコード: #define setb_SYNCO do{(PORTA|= (1<<0));} while(0); ISR(INT0_vect){ unsigned char i; i = 10; while(i>0)i--; // first pause - omitted setb_SYNCO; setb_GATE; i=30; clrb_SYNCO; while(i>0)i--; // second pause - preserved clrb_GATE; } LSSの対応する部分(コンパイラーによって作成されたアセンブラーファイル): ISR(INT0_vect){ a4: 1f 92 push r1 a6: 0f 92 push r0 a8: 0f b6 in r0, 0x3f …
9 avr  c  avr-gcc  optimization  gcc 

2
avrマイクロコントローラーと、initまたはメインループまたはタイマーまたは割り込みのコーディングを開始する方法
私はAVRとPICマイクロコントローラーのコードをここ数年、仕事のために変更していますが、ゼロから何かを書いたことがないので、かなりよく理解しています。 私は今自分のコードを書き始めており、始めるのに問題があります。他の人がどのようにコードを書き始めるのか、本やチュートリアルがあるとすれば、これについてお勧めします。 初期化関数のコーディングから始めて、次に割り込み、次にタイマー、そしてメインのwhile(1)ループのコーディングから始めますか...始めるための最良の方法は何なのかと思っています。 ありがとうございました
9 avr  pic 

5
ATTiny13 — avr-gcc Hello Worldは100バイト以上を使用しますか?
ATTiny13用のプログラムを書こうとしています。私の問題は、巨大なサイズの制約があることです。さて、私の最初のHello Worldプログラムを作成するとき、ライトをオン/オフするだけで100バイトのプログラムスペースが必要でした。このサイズを縮小するためにavr-gccに提供できるオプションはありますか?また、crt0には何がありますか?私はAVRアセンブリにあまり熱心ではないので、あまり理解していません。 このプロジェクトのアセンブリに立ち寄る必要はありません。

5
ATmega32(ATmega AVRシリーズ)を搭載した組み込みCから始めます
私はATmega32ボードを敷設していて、マイクロコントローラから始めるのが最適だと思います。組み込みCでバブリングをしたことがありますが(このボードを入手したとき)、フローがいくつかの理由で停止しました。今私は2つの質問があります: AVRシリーズのCで始めるのに最適な無料のリソースは何ですか。私はAVR-GCCを知っていますが、私を始めるためのチュートリアルや無料の本を探していました。 最初にCにジャンプするか、最初にASMを実行する必要がありますか?周りにはasmの本がたくさんあります。それで、より良いオプションは何ですか? インターネットを検索しながら、私はここでATmega32用のArduinoのブートローダを見つけhttp://retrointerfacing.com/?p=30が、問題は、私はヒューズビットおよびすべてと、いくつかの工夫を行うことがためらっています。そうしても安全ですか?
9 avr  atmega  books  c 

3
AVR / Arduinoでのコードの保護と更新の配信
AVRベースのデバイスにフラッシュされたコードをリバースエンジニアリングから保護する最良の方法は何ですか? コードを公開せずに自分でフラッシュするようにエンドユーザーに更新を提供する簡単な方法は何ですか?(暗号化されたイメージを復号化するブートローダーを使用していますか?) DRMを宣伝するために私を非難しないでください。私はオープンプラットフォームを支持しています。

1
趣味のプロジェクトで簡単に制御できるカラーLCDですか?
私は、AVRマイクロコントローラーや将来的にはARMと一緒に、さまざまな趣味のプロジェクトに使用できる、あまり高価ではなく、制御が簡単なカラーグラフィックLCDを探しています。安いほど良いですが、シリアル接続または低速パラレル接続のいずれかでそれを制御できるようにしたいです。一部のLCDでは、各ピクセルを個別に駆動するために複数のMHzの並列制御信号が必要ですが、おそらく1つのAVRではそれを管理できません。これは残念ながら、交換用のニンテンドーDS LCDなどの超安価なLCDを除外します。個人的に使用して気に入ったLCDに関する推奨事項は特に高く評価されます。ありがとう。
9 avr  lcd  display 

5
Arduinoで75個のLEDを制御する最良の方法
3つのLEDまたは25のRGB LEDの25グループを制御する必要があります。各グループは、最大20 cm(約8インチ)離れてuCから解任されます。20cmは非常に安全な仮定ですが、10cm以下になると思います。 ただし、5cmでもマトリックス状に作成するのは難しいと思いますので、MAX7219 likie IC(http://www.arduino.cc/playground/Main/MAX72XXHardware)を使用するのはベストなアイデアではないと思います。 おそらくシフトレジスタを使用します(http://www.arduino.cc/en/Tutorial/ShiftOut)。74HC595を複数接続したり、STP16C596などを使用したりできます。 私はSTP16C596を好みますが、それらは時代遅れです。SCT2026(http://zefiryn.tme.pl/dok/a04/sct2026.pdf)を見つけましたが、それが正しい選択かどうかはわかりません。 もう1つ注意してください。私の現在のプロジェクトでは、各グループの「2ビット制御」のみが必要です(3つのLEDをオフにするか、そのうちの1つだけを選択してオンにする)が、プロジェクトが簡単または安価になるとは思いません。また、各LEDを個別に制御すると、変更があった場合の柔軟性が大幅に向上します。 どのソリューションが私の要件に最も適していますか。 このショップでパーツを入手できると便利です-http://www.tme.eu/en/katalog/ ? &page = 1,20#mainまたはhttp://eu.mouser.com/(ただし、最初の1つ)。
9 arduino  led  driver  avr 

2
電流ソースICではなく電流シンクICを使用するように回路を再設計する方法
私は、ヘキサポッドロボットプロジェクトの一環として、電子機器とアセンブリ言語について学ぶためのシリアルサーボコントローラーを構築しています。かなり早い段階で、サポート時に使用していたATTiny2313よりも多くのI / Oチャネルが必要であると判断したため、64チャネルPWMサーボを作成できる3〜8ラインデマルチプレクサチップ(CD74HCT238E)を調査しました。 PWMチャネル用の8本のI / Oピンと3本のアドレスラインを備えたコントローラ。 とにかく。また、アクティブなハイCD74HCT238EではなくアクティブローであるCD74HCT138Eも購入しました。使用している電流ソースチップと電流シンクチップの違いを原則的に理解していますが、電流ソースチップの代わりに電流シンクチップを使用するように回路を調整する方法がわかりません。 アクティブハイチップの回路図 は次のとおりです。CD74HCT238EをCD74HCT138Eに交換するには何を変更する必要がありますか? この質問をする理由は、誤ってアクティブローICのチューブを購入したことであり、回路図と回路設計をどれだけ複雑にしてそれらを使用する必要があるのか​​知りたいのです。

2
PIC12F675 GP4が機能しない
プロジェクトにPIC12F675を使用していますが、1つの点を除いてすべて正常に動作します。GP4はデジタルIOとして機能しません。設定とコードをよく見てきましたが、何も見つかりませんでした。 構成: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF コード: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

3
PORTとPINの読み取りの違い
PORTAとPINAの違いは何ですか?ポートとそのピンの関係は何ですか?私は本当に混乱しています!!! PORTの読み取りの例:(読み取りピンはここでは役に立ちません) アセンブリf = 1MHZ ATmega8 1msごとにPORTBを補完する必要があります。(Dutycycle = 50%) LDI R16,$FF OUT DDRB,R16 MAIN: LDI R16,00 DELAY:CPI R16,200 BREQ LOOP INC R16 RJMP DELAY loop:IN R17,PORTB COM R17 OUT PORTB,R17 OUT R17,PORTB RJMP MAIN

2
ATtiny13A-CTCモードでソフトウェアPWMを生成できない
ATtiny13Aを使ってリモコンのRGB LEDライトを作ろうとしています。 私はATtiny85がこの目的により適していることを知っており、最終的にコード全体に適合できない可能性があることを知っていますが、今のところ私の主な関心事はCTCモードで割り込みを使用してソフトウェアPWMを生成することです。 私は(と高速PWM以外の他のモードで動作することができないOCR0AようにTOP、私が使用していたIR受信コードは、それがCTCを使用して生成する38 kHzの周波数を必要とするため、基本的に同じものです)OCR0A=122。 だから私は(そしてインターネットでこれが言及されているのを見たことがあります)、ソフトウェアPWMを生成するために割り込みOutput Compare AとOutput Compare B割り込みを使用しようとしています。 OCR0AIRコードでも使用されるは、周波数を決定しますが、これは気にしません。そしてOCR0B、LEDの色を変更するために使用するPWMのデューティサイクルを決定します。 OCR0B値をから0に変更することで、デューティサイクルが0〜100%のPWMが得られると期待していますOCR0A。これは何が起こるべきかについての私の理解です: しかし実際に起こっていることはこれです(これはProteus ISISシミュレーションからです): 以下を見るとわかるように、約25%〜75%のデューティサイクルを取得できますが、〜0-25%および〜75-100%の場合、波形はスタックし、変化しません。 黄色の線:ハードウェアPWM REDライン:固定デューティサイクルのソフトウェアPWM 緑のライン:デューティサイクルが変化するソフトウェアPWM そして、これが私のコードです: #ifndef F_CPU #define F_CPU (9600000UL) // 9.6 MHz #endif #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> int main(void) { cli(); TCCR0A = 0x00; // Init to zero TCCR0B = 0x00; TCCR0A |= …
8 avr  pwm  interrupts  attiny 


6
16MBのRAMを搭載したマイクロコントローラはありますか?
これが私の状況です: 個人的なプロジェクトとして、AVRで動作するSega Megadrive(Sega Genesis)のエミュレーターを書きたいと思っています。そのため、MegaDriveに同梱されているMotorola 68kと同様の特性を持つマイクロコントローラーを探していました。ただし、68kの仕様がほとんどの趣味のマイクロと比較されていることに気づきました。ARMではなくAVRを選択しているのは、アーキテクチャが好きで、それが良い挑戦になると思ったからです。 M68K: 32-bit CPU 16-bit data bus Up to 20 MHz 16 MB RAM No I/O ports Arduino Leonardoの仕様は次のとおりです。 Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 20 PWM Channels 7 Analog Input Channels 12 DC Current per I/O Pin 40 mA DC …
8 avr  design 

1
AVR:ADCのオーバークロック
これはATmega32データシートからの引用です: By default, the successive approximation circuitry requires an input clock frequency between 50kHz and 200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the input clock frequency to the ADC can be higher than 200kHz to get a higher sample rate. 8ビットのADCを使用する予定です。問題は、200kHzよりもどれだけ高いかです。データシートでこれに関する情報を見つけることができませんでした。uCが16MHzで動作している場合、64または32のプリスケーラーを使用して、それぞれ250kHzまたは500kHzでADCを変換エラーなしで実行できますか?そして、ADCを仕様範囲外で実行すると、どのような結果が起こりますか?

1
PWMモード:中央揃えと左揃え
Atmel AT32UC3C2512Cを使用していますが、データシートを見ると、中央揃えと左揃えの2種類のPWMモードがあります。 これらのモードのそれぞれをいつ使用することになっているのか、そしてそれらの長所と短所を知りたいのですが。
8 avr  pwm  atmel 

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