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

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

新規登録して質問してみよう
ただいま回答率
85.37%
C

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

Q&A

0回答

275閲覧

PIC12F615のソースコードのビルドがうまくいきません

yamasaki643

総合スコア1

C

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

0グッド

0クリップ

投稿2024/09/14 03:29

実現したいこと

Windows10のMPLAB XIDE V6.20環境でPICKIT3を使用しビルドを成功させ、PIC12F615マイコンへの書き込みを実現したい。

発生している問題・分からないこと

ソースコードにエラーが出てますが、どう処理して良いかわかりません。

該当のソースコード

/* * CNC Power unit * * File: main.c * Author: masato * * Created on 2017/02/05, 8:02 */ // PIC12F615 Configuration Bit Settings // 'C' source line config statements // CONFIG #pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on GP4/OSC2/CLKOUT pin, I/O function on GP5/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled) #pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD) #pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled) #pragma config IOSCFS = 8MHZ // Internal Oscillator Frequency Select (4 MHz) #pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled) // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> void main(void) { // レジスタセット TRISIO = 0b00001000; ANSEL = 0b00000000; IOC = 0b00000000; CMCON0 = 0b00000000; int val = 0; GP0 = 0; GP1 = 0; GP4 = 0; GP5 = 0; while(1){ val ^= 1; GP2 = val; _delay(1000000); } return; }

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

エラー内容は以下です。

make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make -f nbproject/Makefile-default.mk dist/default/debug/blink.X.debug.elf
make[2]: *** [nbproject/Makefile-default.mk:95: build/default/debug/main.p1] Error 1
make[1]: *** [nbproject/Makefile-default.mk:85: .build-conf] Error 2
make: *** [nbproject/Makefile-impl.mk:39: .build-impl] Error 2
make[2]: Entering directory 'C:/Users/yamas/MPLABXProjects/blink.X'
"C:\Program Files\Microchip\xc8\v2.46\bin\xc8-cc.exe" -mcpu=16F84A -c -D__DEBUG=1 -mdebugger=none -mdfp="C:/Program Files/Microchip/MPLABX/v6.20/packs/Microchip/PIC16Fxxx_DFP/1.6.156/xc8" -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall -mno-default-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto -o build/default/debug/main.p1 main.c
::: advisory: (2100) using the C99 standard library with the selected device may result in larger code and data usage
main.c:27:1: error: unknown type name 'main'
main.c
^
main.c:27:5: error: expected identifier or '('
main.c
^
main.c:55:5: error: conflicting types for 'main'
int main(int argc, char** argv) {
^
main.c:23:6: note: previous definition is here
void main(void) {
^
3 errors generated.
(908) exit status = 1
make[2]: Leaving directory 'C:/Users/yamas/MPLABXProjects/blink.X'

BUILD FAILED (exit value 2, total time: 1s)

補足

BINGのCOPILOT使用して解釈しようとしましたが、具体的な対処方法がわかりませんでした。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiroki-o

2024/09/14 03:42

提示されたソースがmain.cですか? エラーメッセージと矛盾しているようですが...
thkana

2024/09/14 03:53

> main.c:27:1: error: unknown type name 'main' > main.c つまりmain.cの中にコメントでもなくmain.cという記述があるということが示されています。さらに > main.c:23:6: note: previous definition is here > void main(void) { もあるし、 > main.c:55:5: error: conflicting types for 'main' > int main(int argc, char** argv) { も登場しているようです。質問に貼ってあるソースコードでそういうことはあり得ません。 なにかあなたが大きな勘違いをしていて、ビルドの作業がとんでもないことになっている、という想像をせざるを得ません。 回答者が「あなたと寸分違わず同じ作業を試せる」ような説明をしていただけるとなにか見つけられるかも知れません。
yamasaki643

2024/09/14 04:19

hiroki-oさんこれがmain.cです。thkanaさん、MPLAB XIDE V6.20のbuild for debugging main projectをクリックした結果です。
setoppu

2024/09/14 09:00

PICやらは未経験なので、エラーメッセージでググっただけですが…。 https://qiita.com/besaklish/items/f435e8af1636161b8502 XC8のバージョンを変えてみる。 https://qiita.com/6LxAi9GCOmRigUI/items/e7185ac24cc300d79cc4 C言語の規格をC99からC90に変更する。 ビルド情報をリセットしてみる。 とか。 makeの処理の途中でエラーが出ているようですが、そのまま進むのは普通なんでしょうか??
jimbe

2024/09/15 02:50

言えるのは、エラーメッセージの内容がコードと一致しませんので、現在提示されている以外の部分に問題があるように見える、ということだけです。 (提示されているものと違う main.c をコンパイルしているとか、複数のソースファイルからコンパイル・リンクしていて他のファイルにも main 関数があるとか…)
yamasaki643

2024/09/16 05:38

setoppuさん、やってみます。 jimbeさん、複数のソースファイルを開いておりましたので、おそらく提示されているものと違う main.c をコンパイルしていたと思います。
yamasaki643

2024/09/16 08:58

setoppuさん、C言語の規格をC99からC90に変更したり、「Power target circuit from PICkit3」にチェックを入れ,「Voltage Level」を「3.25」にしましたが、ターゲットデバイスとの接続不良になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問