Atmel Studio 7の使い方とインテリジェンスの問題について

このQ&Aのポイント
  • AVRマイコンのC言語学習者向けにAtmel Studio 7の使い方について教えていただけますか?また、bit_is_clear()や_BV()といったマクロがインテリジェンスに効かない理由は何ですか?設定の問題でしょうか?
  • Atmel Studio 7はAVRマイコンをC言語で学習する際に使われる開発環境ですが、マクロのbit_is_clear()や_BV()がインテリジェンスに反応しない現象が発生しています。この問題の解決方法を教えていただけますか?
  • C言語でAVRマイコンを学習している中で、Atmel Studio 7を使っていますが、bit_is_clear()や_BV()といったマクロが使えないという問題があります。この問題に対して解決策を教えていただけますか?
回答を見る
  • 締切済み

Atmel Studio 7について

AVRマイコンをC言語で勉強中の者です Atmel Studio 7の使い方で教えてほしいのですが 以下の画像のようなbit_is_clear()や_BV()のようなマクロはインテリジェンスが効かないのですが仕様ですか?それとも設定の問題ですか? 赤線にカーソルを合わせると「Unrecognized Symbol~」というメッセージが出てます ビルドしてマイコンでの動作は問題ないです よろしくお願いします

みんなの回答

  • kaba__san
  • ベストアンサー率46% (27/58)
回答No.1

コンパイラとVAssistXで解釈の違いがあるのでどうしようもないようです。 まあ「仕様」ってことで私はあきらめています。 #include <avr/sfr_defs.h> この一行を追加することで消えるんですけど、ソースとしては必須じゃないですしね。

関連するQ&A

  • Atmel Studioのhexとelfの違い。

    Atmel Studio6.2でATmega88pマイコンのプログラムを行っています。プログラムをビルドした場合、elfファイルとhexファイルの2つDebugフォルダの中に作成されますが、Device Programmerで書き込みする際はどちらのファイルを書き込めば良いのかご教示頂きますよう、お願い致します。

  • Atmel Studioのeepromアドレス

    現在Atmel Studio6.2でATmega88pマイコンのプログラミングを行っています。 https://sourceforge.jp/projects/cc1101driver/scm/svn/blobs/head/branches/test002_AVRS6_20140819/test02/test02/src/main.c AVR studio4.19 + winAVR Cコンパイラで作成していたコードをAtmel Studio6.2に移してコンパイルを行ったところ、EEPROMアドレスへのデータ書き込みが逆になってしまう現象が起きました。 #define EEPROM __attribute__((section(".eeprom"))) ctl_data EEPROM gctl_data; reg_slave EEPROM greg_slave[100]; int EEPROM eprom_level[14]; char EEPROM eprom_fixid[3]; char EEPROM test_mode; char EEPROM monitor_state; int EEPROM wdt_cnt; int EEPROM cnt_loop_break; このようなコードを”AVR studio4.19 + winAVR”の時からしているのですが、このときは ctl_data EEPROM gctl_data; こちらがEEPROMアドレスの0x0000番地から始まっていたのですが、Atmel Studio6.2の場合は、 int EEPROM cnt_loop_break; こちら側が0x0000番地に配置するようになっていて、逆になってしまっています。 この場合、一番最初のアドレスに割り当てするには、コードも逆にして記述する必要がありますでしょうか? どうぞ、ご教示頂きますようお願いいたします。

  • Atmel studo6.2デバッグ時EEPROM

    現在、Atmel studio6.2でAtmel88pマイコンのプログラミングを行っています。JTAGICE3でリアルタイムデバッグをやっています。通常のプログラミングモードからデバッグモードにマイコンを切り替える際に、EEPROMの内部データが初期化されてしまいます。 マイコンのデバッグを開始する際に一番最初にEEPROMのデータ内容を読み込んでいるので、このデータをいちいち打ち込まなければいけないのですが、EEPROM内容を保存しているeepファイルなどを読み込む機能はデバッグモード時にありますでしょうか? AVR Studio4.19の時はこの機能があったと思うのですが、ご教示頂きますよう、よろしくお願い致します。

  • AVR Studio 6のCコンパイラについて

    今まではAtmelのマイコンでのコーディングの時にはAVR Studio 4をインストールして、C言語でのプログラミングのためにwinavrというCコンパイラをダウンロードしてインストールして使用していました。 最近のAtmelの開発環境はVersionが上がっていてAVR Studio 6というのが使用できるようになっていたので、インストールして使用してみたのですが、この開発環境をインストールすると既にC言語のコーディングとかコンパイラができるようになっていました。 この標準搭載のCコンパイラはwinavrのものなのでしょうか? それともAtmel自信のCコンパイラなのでしょうか? ご存じでしたらご教授よろしくお願い致します。

  • AVRマイコンの書き込みについて

    最近Atmel studio6と言うソフトとArduino IDEと言うのが調べれば調べるほど ごちゃ混ぜになって、何が何だか分からなくなってきました。 どこが同じで、どこが違うのでしょうか。 AVRマイコンのAtmega328p-puにAtmel studio6で書き込む様に書いてあるので、AVrisp mkIIというライターを買いましたが、別の記事を見たらブートローダー というソフトをあらかじめインストールして置かないといけないとか 他の記事に書いてあったのですが。 AVRマイコンに関しては、まったくど素人で分かりませんので教えてください。

  • AVR StudioのEEPROMのhexファイル

    いままでAVR Studio4というAtmelマイコンの開発環境をwindows 7のPCで使用していました。最近、PCを買い換えてwindows8になってからマイコンの書き込みで使っていたUSB接続のAVRICEデバッガがwindows8のドライバで対応していないなどがあり、AVR Studio6をインストールしたらこれらのデバッガが使えるようになったので使っていました。 しかし、複数のAtmega88のEEPROM領域に初期値として書き込んでいたhexファイルがあったのですが、なぜかAVR Studio6でダウンロード使用とすると書き込みがエラーしたりします。 まったく同じファイルをAVR Stuio4でダウンロード使用とするとこれは可能でした。 このEEPROMへのファイルのダウンロードに関してVer4とVer6ではなにか仕様に変化がありましたでしょうか? ご存じの方いらっしゃいましたらご教授頂きますようお願い致します。

  • AVR Studio 4?5?Atml 6?

    AVRISPmkII を使用したいと思っています。 開発環境はWin7 64bitです。 インストールしようと思い調べていたら 【マイコン編 1回】 零からの電子工作 第36回:後編 開発環境構築 http://www.nicovideo.jp/watch/sm14483389 【AVR】電子工作のススメ 第一回「マイコンのススメ」 http://www.nicovideo.jp/watch/sm7775003 この動画が作成された時点では5が出ていたみたいですが 最新版の危うさと情報の少なさから4を使用していました。 なので私も4を使おうと思ったのですが公式サイトではもう公開していないのか 見つかりませんでした。 こんなサイトがあるみたいですが何だか怪しげで・・・相談にのってください http://www.mikrocontroller.net/articles/Atmel_Studio なので5を使おうと思って AVR Studio 5のインストールと留意点 http://jsdiy.web.fc2.com/avr_as5inst/ ここを参考にしましたがやはり5は公開されていないようで Atml 6しか見つかりませんでした。 ただ、6は情報が全然見つからなくトラブルが無いか不安です。 どうするのが最善だと思われるでしょうか? ご見識がございましたらご意見いただけますようお願いいたします。

  • AVR Studio 6.2で書き込みができない

    現在AVR Studio6.2でATmega88Pマイコンのプログラミングを行っています。JTAGICE3を使用してリアルタイムデバッグをおこなっていました。一旦Device Programming機能でファームウェアをATmega88に書き込もうと思ったのですが、ATmega88とJTAGICE3の接続を確認するため、Device signatureを読み取ろうとしたのですが、次のようなエラーが出てきます。 Unable to enter programming mode. Please verify device selection,interface settings,target power and connections to the target device. Look in the details section for more information. たぶんなんですが、今までデバッグを行っていたので、デバッグのヒューズビットがONの状態になっているため、書き込みモードに移行できていないと思われるのですが、 AVR Studio4の場合はデバッグモード時にデバッグモードを無効にする機能があったと思うのですが、Atmel Studio6.2ではこの機能はありますでしょうか? http://d.hatena.ne.jp/oibore_shinsuke/20130421/1366530168 こちらのサイトの方も同じような症状を言っているように思うのですが、こちらの方法をやってみましたが、私の場合は解決できていません。 どうぞ、ご教示頂きますようよろしくお願い致します。

  • AVR studioでコンパイルエラーが出る。

    現在windows8.1のノートPCにAVR Studio4.19とAVR GCCをインストールしてビルドを行ったところ、次のようなエラーが出てきました。 -----(エラー内容)------------------------------------------------------------ Build started 15.4.2014 at 17:48:51 0 [main] sh 8956 sync_with_child: child 10164(0x158) died before initialization with status code 0xC0000142 37839 [main] sh 8956 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature **********.elf **********.hex avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex **********.elf **********.eep || exit 0 0 [main] sh 8712 sync_with_child: child 5884(0x150) died before initialization with status code 0xC0000142 4609 [main] sh 8712 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable make: [**********.eep] Error 128 (ignored) avr-objdump -h -S **********.elf > **********.lss 0 [main] sh 6836 sync_with_child: child 7088(0x150) died before initialization with status code 0xC0000142 70590 [main] sh 6836 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable make: *** [**********.lss] Error 128 Build failed with 1 errors and 0 warnings... ------------------------------------------------------------------------- エラーというのが出ていたのですが、実行ファイルの”.hex”ファイルは出力されていました。 そして、それをATmega88のマイコンにダウンロードしてみたのですが、特に問題なく動いているのですが、今回のビルド結果でエラーとして問題になっていることと、解決方法とかご教示頂きますよう、よろしくお願い致します。

  • AVRISP mkIIをwin8.1での使用方法

    現在Atmelのマイコンの開発環境をwindows8.1のPCにインストールしています。 今までコンパイラはwindows7のPCでwinavrを使用していましたが、win8ではどうも使えないようなので、こちらのサイト http://blog.digit-parts.com/archives/51871798.html こちらのサイトでAVR Studio 4.19 + GCC tool chainのインストールでwin8.1環境でコンパイルすることができるようになりました。 しかし、書き込み機であるAVRISPをUSB接続してもデバイスマネージャーではドライバが不明の三角マークの表示が出て書き込みが行えません。 AVR Studio側も書き込み機を認識してくれません。 次のサイトで 題名:windows 8におけるavr isp mk.IIの使用方法 http://ameblo.jp/otcn/entry-11429773240.html このサイトの方法を試したのですが、それでもUSB接続が認識されません。 どなたか解決方法をご存じでしたら、どうぞご教授いただきますよう、お願い致します。