質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • C

    3443questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

pic16f1828と加速度センサMPU6050をI2Cでつなぐ

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 203

haruo8219

score 6

https://github.com/danjperron/GCrash/blob/master/MPU6050.cの
MPU6050のi2c通信参考プログラムをみてプログラムを作成しています。

目的は加速度センサで読み取った値をpicマイコンにi2c通信を用いて通信させたいと思っています。

大学の教授に質問してもわからなかった箇所を教えていただけたらと思います。

https://github.com/danjperron/GCrash/blob/master/MPU6050.cの参考プログラムの
5.6.11.112.114.116.123.129.131.134.144.145.151.153.155.156.157.171行目がどう書き換えても
エラーが返ってくるのですが原因がわからず先に進むことができていません。

プログラムの作成に使用しているのはMPLAB X IDE v4.05です。

お手数おかけいたしますがどうかご回答よろしくお願いいたします。

define MPU6050_ADDRESS 0x68  // Address with end write bit

define MPU6050_RA_XG_OFFS_TC 0x00 //[7] PWR_MODE, [6:1] XG_OFFS_TC, [0] OTP_BNK_VLD

define MPU6050_RA_YG_OFFS_TC 0x01 //[7] PWR_MODE, [6:1] YG_OFFS_TC, [0] OTP_BNK_VLD

define MPU6050_RA_ZG_OFFS_TC 0x02 //[7] PWR_MODE, [6:1] ZG_OFFS_TC, [0] OTP_BNK_VLD

define MPU6050_RA_X_FINE_GAIN 0x03 //[7:0] X_FINE_GAIN

define MPU6050_RA_Y_FINE_GAIN 0x04 //[7:0] Y_FINE_GAIN

define MPU6050_RA_Z_FINE_GAIN 0x05 //[7:0] Z_FINE_GAIN

define MPU6050_RA_XA_OFFS_H 0x06 //[15:0] XA_OFFS

define MPU6050_RA_XA_OFFS_L_TC 0x07

define MPU6050_RA_YA_OFFS_H 0x08 //[15:0] YA_OFFS

define MPU6050_RA_YA_OFFS_L_TC 0x09

define MPU6050_RA_ZA_OFFS_H 0x0A //[15:0] ZA_OFFS

define MPU6050_RA_ZA_OFFS_L_TC 0x0B

define MPU6050_RA_XG_OFFS_USRH 0x13 //[15:0] XG_OFFS_USR

define MPU6050_RA_XG_OFFS_USRL 0x14

define MPU6050_RA_YG_OFFS_USRH 0x15 //[15:0] YG_OFFS_USR

define MPU6050_RA_YG_OFFS_USRL 0x16

define MPU6050_RA_ZG_OFFS_USRH 0x17 //[15:0] ZG_OFFS_USR

define MPU6050_RA_ZG_OFFS_USRL 0x18

define MPU6050_RA_SMPLRT_DIV 0x19

define MPU6050_RA_CONFIG 0x1A

define MPU6050_RA_GYRO_CONFIG 0x1B

define MPU6050_RA_ACCEL_CONFIG 0x1C

define MPU6050_RA_FF_THR 0x1D

define MPU6050_RA_FF_DUR 0x1E

define MPU6050_RA_MOT_THR 0x1F

define MPU6050_RA_MOT_DUR 0x20

define MPU6050_RA_ZRMOT_THR 0x21

define MPU6050_RA_ZRMOT_DUR 0x22

define MPU6050_RA_FIFO_EN 0x23

define MPU6050_RA_I2C_MST_CTRL 0x24

define MPU6050_RA_I2C_SLV0_ADDR 0x25

define MPU6050_RA_I2C_SLV0_REG 0x26

define MPU6050_RA_I2C_SLV0_CTRL 0x27

define MPU6050_RA_I2C_SLV1_ADDR 0x28

define MPU6050_RA_I2C_SLV1_REG 0x29

define MPU6050_RA_I2C_SLV1_CTRL 0x2A

define MPU6050_RA_I2C_SLV2_ADDR 0x2B

define MPU6050_RA_I2C_SLV2_REG 0x2C

define MPU6050_RA_I2C_SLV2_CTRL 0x2D

define MPU6050_RA_I2C_SLV3_ADDR 0x2E

define MPU6050_RA_I2C_SLV3_REG 0x2F

define MPU6050_RA_I2C_SLV3_CTRL 0x30

define MPU6050_RA_I2C_SLV4_ADDR 0x31

define MPU6050_RA_I2C_SLV4_REG 0x32

define MPU6050_RA_I2C_SLV4_DO 0x33

define MPU6050_RA_I2C_SLV4_CTRL 0x34

define MPU6050_RA_I2C_SLV4_DI 0x35

define MPU6050_RA_I2C_MST_STATUS 0x36

define MPU6050_RA_INT_PIN_CFG 0x37

define MPU6050_RA_INT_ENABLE 0x38

define MPU6050_RA_DMP_INT_STATUS 0x39

define MPU6050_RA_INT_STATUS 0x3A

define MPU6050_RA_ACCEL_XOUT_H 0x3B

define MPU6050_RA_ACCEL_XOUT_L 0x3C

define MPU6050_RA_ACCEL_YOUT_H 0x3D

define MPU6050_RA_ACCEL_YOUT_L 0x3E

define MPU6050_RA_ACCEL_ZOUT_H 0x3F

define MPU6050_RA_ACCEL_ZOUT_L 0x40

define MPU6050_RA_TEMP_OUT_H 0x41

define MPU6050_RA_TEMP_OUT_L 0x42

define MPU6050_RA_GYRO_XOUT_H 0x43

define MPU6050_RA_GYRO_XOUT_L 0x44

define MPU6050_RA_GYRO_YOUT_H 0x45

define MPU6050_RA_GYRO_YOUT_L 0x46

define MPU6050_RA_GYRO_ZOUT_H 0x47

define MPU6050_RA_GYRO_ZOUT_L 0x48

define MPU6050_RA_EXT_SENS_DATA_00 0x49

define MPU6050_RA_EXT_SENS_DATA_01 0x4A

define MPU6050_RA_EXT_SENS_DATA_02 0x4B

define MPU6050_RA_EXT_SENS_DATA_03 0x4C

define MPU6050_RA_EXT_SENS_DATA_04 0x4D

define MPU6050_RA_EXT_SENS_DATA_05 0x4E

define MPU6050_RA_EXT_SENS_DATA_06 0x4F

define MPU6050_RA_EXT_SENS_DATA_07 0x50

define MPU6050_RA_EXT_SENS_DATA_08 0x51

define MPU6050_RA_EXT_SENS_DATA_09 0x52

define MPU6050_RA_EXT_SENS_DATA_10 0x53

define MPU6050_RA_EXT_SENS_DATA_11 0x54

define MPU6050_RA_EXT_SENS_DATA_12 0x55

define MPU6050_RA_EXT_SENS_DATA_13 0x56

define MPU6050_RA_EXT_SENS_DATA_14 0x57

define MPU6050_RA_EXT_SENS_DATA_15 0x58

define MPU6050_RA_EXT_SENS_DATA_16 0x59

define MPU6050_RA_EXT_SENS_DATA_17 0x5A

define MPU6050_RA_EXT_SENS_DATA_18 0x5B

define MPU6050_RA_EXT_SENS_DATA_19 0x5C

define MPU6050_RA_EXT_SENS_DATA_20 0x5D

define MPU6050_RA_EXT_SENS_DATA_21 0x5E

define MPU6050_RA_EXT_SENS_DATA_22 0x5F

define MPU6050_RA_EXT_SENS_DATA_23 0x60

define MPU6050_RA_MOT_DETECT_STATUS 0x61

define MPU6050_RA_I2C_SLV0_DO 0x63

define MPU6050_RA_I2C_SLV1_DO 0x64

define MPU6050_RA_I2C_SLV2_DO 0x65

define MPU6050_RA_I2C_SLV3_DO 0x66

define MPU6050_RA_I2C_MST_DELAY_CTRL 0x67

define MPU6050_RA_SIGNAL_PATH_RESET 0x68

define MPU6050_RA_MOT_DETECT_CTRL 0x69

define MPU6050_RA_USER_CTRL 0x6A

define MPU6050_RA_PWR_MGMT_1 0x6B

define MPU6050_RA_PWR_MGMT_2 0x6C

define MPU6050_RA_BANK_SEL 0x6D

define MPU6050_RA_MEM_START_ADDR 0x6E

define MPU6050_RA_MEM_R_W 0x6F

define MPU6050_RA_DMP_CFG_1 0x70

define MPU6050_RA_DMP_CFG_2 0x71

define MPU6050_RA_FIFO_COUNTH 0x72

define MPU6050_RA_FIFO_COUNTL 0x73

define MPU6050_RA_FIFO_R_W 0x74

define MPU6050_RA_WHO_AM_I 0x75

int MPU6050_Test_I2C(void);

void Setup_MPU6050(void);

void Get_Accel_Values(void);

unsigned char GotInt_MPU6050(void);

typedef struct

{

short Gx,Gy,Gz;

unsigned short Timer;

unsigned long SumSquare;

}GForceStruct;

extern GForceStruct  CurrentData;

extern GForceStruct  PeakData;

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ozwk

    2018/01/17 11:11

    本当にi2cMaster.hとMPU6050.hがプロジェクトに存在してます?

    キャンセル

  • CHERRY

    2018/01/17 14:31 編集

    「空と言われる」 MPU6050.h の中身を質問に追記してください。 https://github.com/danjperron/GCrash/blob/master/MPU6050.h と同じじゃないんですか?

    キャンセル

  • haruo8219

    2018/01/17 14:35

    同じです。

    キャンセル

回答 1

0

MPU6050.cだけでなく組み合わせて使うヘッダファイルも入手しないといけないように見えますが、あわせて入手していますか?

ちゃんとエラーメッセージを読んでください。本当に「ヘッダー名が間違っている」ですか?勝手な解釈を加えずに出たメッセージをそのまま書き写す方が良いアドバイスを得られやすいですよ。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/01/17 11:01

    ご回答ありがとうございます。
    他サイトで同じような指摘を受けました。
    ご指摘の通りヘッダファイルを追加しないといけないようでした。

    しかしヘッダファイルを追加したのですが
    「そのファイルは空だ。付け加える必要がある」とエラーメッセージが来たのですが
    どのような改善が必要なのでしょうか?

    キャンセル

  • 2018/01/17 13:13

    ほんとうに「そのファイルは空だ。付け加える必要がある」と出ましたか?出たメッセージ(英語)をあなたなりに解釈したら「そのファイルは空だ。付け加える必要がある」なだけではありませんか?
    『勝手な解釈を加えずに出たメッセージをそのまま書き写す方が良いアドバイスを得られやすいですよ。』

    キャンセル

  • 2018/01/17 14:20

    「The project "MPU6050.h" is empty. You will need to add a file to the project before you can build it.」と出ています。
    解釈まちがえてますか?

    キャンセル

  • 2018/01/17 14:29

    そのメッセージは何が出したの? コンパイラ? make? ほかのなにか?

    キャンセル

  • 2018/01/17 14:34

    buildを実行したときに出てきました。

    キャンセル

  • 2018/01/17 14:37 編集

    "何時"ではなく"何が"そのメッセージを出したか、と訊いてます。
    で、質問に貼りつけられたコードは何ですか?

    キャンセル

  • 2018/01/17 14:38

    > The project "MPU6050.h" is empty.
    これヘッダーファイルを追加したつもりが
    新しくプロジェクト作ってしまったのでは?

    キャンセル

  • 2018/01/17 14:41

    確認してみます。

    キャンセル

  • 2018/01/17 15:07

    githubを見たところmpu6050.hは1032行ほどあります。どっちにしてもヘッダファイルが存在してただ中が空っぽなのはC言語にとってエラーでもなんでもないですし。

    キャンセル

  • 2018/01/17 15:54

    ozwkさんに一票。
    The project "MPU6050.h" is empty は
    「ファイル:MPU6050.h は空だ」じゃない、
    「プロジェクト:MPU6050.h は空だ」ですからね。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C

    3443questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。