プロが教えるわが家の防犯対策術!

PIC初心者なのですが
現在↓サイトでPIC-PIC間のシリアル通信を勉強中です。
http://kuri6005.sakura.ne.jp/pic/index.php?PIC-P …

その中で通信設定の

  Usart_Init(2400); //通信速度を2400 band rateに設定

  do {
    if(PORTA.F0 == 1) {
      Usart_Write('A'); //RA0=1なら'A'を送信
    } else {
      Usart_Write(0); //RA0=0なら 0 を送信
    }

の部分でコンパイルエラーがでます。
たぶんヘッダーファイルのようなものが必要で指定されてないからエラーが出るのだとは思いますが、
どこからとってきて?またはどこにあるものなのかがわかりません。
わかる方教えて下さい。

※テストで使っているPICの種類が違ってPIC16F877Aです

A 回答 (2件)

リンク先のサンプルは、MikroC でコンパイルしています。


質問者様は、HI-TECH C でコンパイルしています。

従って、
Error [500] ; 0. undefined symbols:
_Usart_Write(test25.obj) _Usart_Init(test25.obj)

Usart_Write とか、Usart_Init なんて、知らないよ。

と、コンパイラから言われているのです。

従って、サンプルで使っている MikroC を用意するか、
HI-TECH C 向けに書き換える必要があります。

MikroC はここからダウンロードできます。
http://www.mikroe.com/mikroc/pic/

HIーTECH C での解説はこの辺のページでやってます。
検索すれば、他にも出てきますのでお気に入りのページを参考にしてください。

http://www.geocities.jp/zattouka/GarageHouse/mic …

http://d.hatena.ne.jp/yaneurao/20080720

http://www.palettesoft.co.jp/technology/pic/etc/ …
    • good
    • 0
この回答へのお礼

回答頂きありがとうございます。
初心者すぎる内容でお恥ずかしいかぎりですが、
本当に困っていたので、大変助かりました。
教えて頂いた内容を参考に勉強してみます、ありがとうございました。

お礼日時:2013/10/31 09:51

コンパイルエラーの内容を書きましょう

この回答への補足

連絡頂きありがとうございます。
エラーと警告内容は↓のとおりです。

Warning [361] C:\Users\Documents\pic\main25.c; 40.1 function declared implicit int
Warning [361] C:\Users\Documents\pic\main25.c; 45.1 function declared implicit int
Executing: "C:\Program Files (x86)\HI-TECH Software\PICC\9.80\bin\picc.exe" -otest25.cof -mtest25.map --summary=default --output=default main25.p1 --chip=16F877A -P --runtime=default --opt=default -N-1 -g --asmlist "--errformat=Error [%n] %f; %l.%c %s" "--msgformat=Advisory[%n] %s" "--warnformat=Warning [%n] %f; %l.%c %s"
(1273) Omniscient Code Generation not available in Lite mode (warning)
HI-TECH C Compiler for PIC10/12/16 MCUs (Lite Mode) V9.80
Copyright (C) 2010 Microchip Technology Inc.

Error [500] ; 0. undefined symbols:
_Usart_Write(test25.obj) _Usart_Init(test25.obj)

ちなみに
if(PORTA.F0 == 1)の部分はif(RA0 == 1)に書き直しました。

補足日時:2013/10/29 14:53
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!