• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【ルネサスのマイコン】E8aからR8C35Aへのコンパイル、書き込み)

ルネサスのマイコン:E8aからR8C35Aへのコンパイル、書き込み

このQ&Aのポイント
  • 初心者でも簡単にLEDを点灯させる方法を教えてください。
  • HEW4でコンパイルエラーが出ていますが、sfr_r835a.hをincludeしても使えない理由がわかりません。
  • ルネサスのマイコンE8aからR8C35Aへのコンパイル、書き込みについて、参考になるHPを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • YUI_AI
  • ベストアンサー率45% (303/661)
回答No.1

sfr_r853a.h のポート定義は以下の様になっています。 /*------------------------------------------------------ Port P1 register ------------------------------------------------------*/ union byte_def p1_addr; #define p1 p1_addr.byte #define p1_0 p1_addr.bit.b0 /* Port P10 bit */ #define p1_1 p1_addr.bit.b1 /* Port P11 bit */ #define p1_2 p1_addr.bit.b2 /* Port P12 bit */ #define p1_3 p1_addr.bit.b3 /* Port P13 bit */ #define p1_4 p1_addr.bit.b4 /* Port P14 bit */ #define p1_5 p1_addr.bit.b5 /* Port P15 bit */ #define p1_6 p1_addr.bit.b6 /* Port P16 bit */ #define p1_7 p1_addr.bit.b7 /* Port P17 bit */ ※C言語では大文字小文字は区別されます。

gongen123
質問者

お礼

>※C言語では大文字小文字は区別されます。 まさにこれでした! 今後気をつけます。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • katouka09
  • ベストアンサー率50% (130/256)
回答No.2

そりゃエラーになるでしょ。 ヘッダーファイルの中身をちゃんと確認しましたか? P1_1ではなくて、p1_1で定義されているはずです。 レジスタ定義ファイルは、使用するICによって設定が異なるので、 同じdefineが使えるとは思わないほうが良いでしょう。 単純にR8C15のソースがR8C35で使えるということは思わないほうが良いと思います。

gongen123
質問者

お礼

>ヘッダーファイルの中身をちゃんと確認しましたか? ご指摘の通り不十分でした。 他人のソースを使うにしても、確認しておかなければなりませんね。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【R8C/Tinyマイコン】エラーについて

    トランジスタ技術 2005年4月号の付録基板R8C/Tiny[Renesas] を使ってマイコンのお勉強をしてます。 4月号のアセンブラでのCPU制御はできたのですが 5月号からC言語でソースを書くことになっており 第1章の単にLEDを点灯させるプログラムでエラーが 出てしまい困っております。 コンパイルまではできるのですが、いざ実行しようとすると M16C R8C FoUSB/UART ウィンドウが出てきて 『指定したアドレス値が範囲外です。(6601)』 と怒られます。 指定した領域がメモリの範囲外であることは分かるのですが いつ・どこでアドレスを指定しているのでしょうか? 具体的な対処方法、またはエラーの追いかけ方が知りたいです。 どうかよろしく御願いいたします。 //Cソース #include "sfr_r815.h" void set_IO(void); void main (void) { set_IO(); while(1) { if (p1_7 == 0) p1_1 = 0; //SW1がONならLED1点灯 else p1_1 = 1; if (p1_1 == 0) p1_2 = 0; //SW2がONならLED2点灯 else p1_2 = 1; } } void set_IO() { drr1 = 1; drr2 = 1; pd1_1 = 1; pd1_2 = 1; p1_1 = 1; p1_2 = 1; }

  • cコンパイルができません!!(>_<)

    void main (void) { ("kamiwasinda"); } というソースをex01.cという名前で保存して、コンパイルでコンパイルしたのですが、 インクルード ファイルstdio.hが見つかりません と表示されて、コンパイルできません!!!(>_<) どうすればコンパイルできるんですか?教えてください!!!

  • C++のコンパイルエラーが

    おこります。 --------------------------------- #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } -------------------------------------- をコンパイルするのですができません。 以下のエラーが出ます。 --------------------------------------- エラー E2209 sample.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample.c 5: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main ) *** 1 errors in Compile *** -------------------------------------

  • コンパイルできない C++

    以下エラーでC++のソースがコンパイルできない fatal error C1083: include ファイルを開けません。'gimite/socket.h': No such file or directory ヘッダーファイルには添付のようにgimite/socket.hを追加済みです

  • C++でコンパイルするとwarningが出ます

    C++初心者です。 C++でコンパイルすると以下のようなwarningメッセージが出るのですが、どういう意味なんでしょうか?解決策があれば教えてください。 プログラム(sample.cpp) #include <iostream.h> main(){ cout << " sample \n"; } warningメッセージ In file included from /usr/include/c++/3.3.1/backward/iostream.h:31, from sample.cpp:1: /usr/include/c++/3.3.1/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider usin g one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <s stream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated

  • ルネサスマイコン(R8C) ビルドエラーについて

    マイコン:R8C(R5F21226) 開発環境:HEW(Windows7) マイコン開発初心者です。 恐れ入りますが、ご教授頂きたく質問させて頂きます。 とあるプログラムを組んでいるのですが、 下記ビルドエラーが発生し、原因がわからず困っています。 『L2321 (E) Section "vector" overlaps section "program"』 文面から見るに、「ベクタ領域のアドレうがROM領域に重複している」 ということで宜しいのでしょうか? 各領域のアドレス値、並びベクタ領域も変更していません。 ※全て初期値のままです。 お手数ですが、このエラーが発生する主な原因を 教えて頂けないでしょうか?

  • HEWを使用しているのですが、このようなエラーが出ました。

    HEWを使用しているのですが、このようなエラーが出ました。 C:\Hiae_7751RTE\Product\T-Kernel\sh7751R\include\queue.h(28) : C2500 (E) Illegal token "void" C:\Hiae_7751RTE\Product\T-Kernel\sh7751R\include\queue.h(29) : C2500 (E) Illegal token "{" 最初はコンパイルエラーもリンクエラーもなかったのですが、intprg.c、resetprg.cを消した(この時点でもエラーはなし)のでstacksct.hを別のソースファイルからインクルードさせてみたら上のようなエラーが出ました。エラーが出たのでstacksct.hをインクルードさせるのもやめてみましたがエラーは消えません。 新しくプロジェクトを作ってみましたがダメでした。 また、queue.hは書き換えていません。 なぜ関係のないqueue.hにエラーがでたのでしょうか? queue.hのエラーが出た行です↓ ---------------------------------- Inline void QueInit( QUEUE *que ) { ----------------------------------

  • ヘッダのインクルード時のエラー

    初歩的な質問で恐縮です。 以下のようなファイルの構成でc++のプログラムを組んでいます。 <header.h> class H { public: virtual void func() = 0; }; <fileA.cpp> #include "header.h" class A : public H { public: void func() {} }; <fileB.cpp> #include "header.h" class B : public H { public: void func() {} }; <main.cpp> #include "fileA.cpp" #include "fileB.cpp" int main() { A a; B b; a.func(); b.func(); return 0; } これをビルドしようとすると、「クラス"H"を再定義しようとしています」とエラーが出てコンパイルができません。理屈は分かるのですが、これの対処方法が分かりません。この場合、header.hはJAVAにおけるInterfaceのような役割としてそれを使うfileA.cpp、fileB.cppの両者にインクルードしておきたいのです。これはどのようにして対処すべきなのでしょうか?

  • Xcodeでのcのコンパイルエラーについて。

    Xcodeでc言語のコンパイル #include <stdio.h> int main(void) { printf("%d", 15 + 37); return(0); } をコンパイルすると ld: 2 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) となります。 いろいろ検索してみたのですが、こんな簡単なプログラムのエラーはのっていませんでした。 なにが問題なのでしょうか。 あと use -v ってのもどうやって使うのでしょうか。 よろしくおねがいします。

  • C8051F320マイコンのプログラム

    C8051F320マイコンのプログラムをKeil uVision3という開発環境でプログラミングしたいと思っているのですが、 とりあえずサンプルプログラムをコンパイルしてみたのですが、エラーが出てきてHEXファイルが出力されません。コンパイルOKにするにはどのようにしたらよいのでしょうか? (プログラム内容) #include <stdio.h> #include <reg51.h> extern void func0(void); extern void func1(void); void main(void) { /* INITIALIZE SERIAL INTERFACE TO 2400 BAUD @12MHz */ SCON = 0x52; /* SCON */ TMOD = 0x20; /* TMOD */ TCON = 0x69; /* TCON */ TH1 = 0xf3; /* TH1 */ printf("MAIN PROGRAM CALLS A FUNCTION IN BANK 0 \n"); func0(); printf("MAIN PROGRAM CALLS A FUNCTION IN BANK 1 \n"); func1(); while(1); } エラー内容は下の内容が出てきました。 Build target 'BL51' compiling C_root.c... C_ROOT.C(1): warning C500: SERIAL NUMBER EXPIRED compiling C_bank0.c... C_BANK0.C(1): warning C500: SERIAL NUMBER EXPIRED compiling C_bank1.c... C_BANK1.C(1): warning C500: SERIAL NUMBER EXPIRED compiling C_bank2.c... C_BANK2.C(1): warning C500: SERIAL NUMBER EXPIRED linking... BL51 BANKED LINKER/LOCATER V6.11 - SN: D1R0C-48BF2E COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007 COMMON {"C_root.obj"}, BANK0 {"C_bank0.obj"}, BANK1 {"C_bank1.obj"}, BANK2 {"C_bank2.obj"} TO "IBANKING" BankArea(0x0000,0xFFFF) RAMSIZE(256) IBANKING *** FATAL ERROR L210: I/O ERROR ON INPUT FILE: EXCEPTION 0021H: PATH OR FILE NOT FOUND FILE: C_root.obj Target not created