mplab x ide 6.20 mcc-classicをもちいてpic16f18313でuartするにはどうすればいいですか サンプルコードもよろしく
ChatGPT:
完璧です!👏
では — MPLAB X IDE 6.20 + MCC Classic + PIC16F18313 の環境で
UART(EUSART)を使って 「Hello」などをPCに表示する最小構成サンプル を、
「MCC設定手順」+「完全コード」+「配線例」付きで説明します。
🧩 目的
PIC16F18313 → USBシリアル変換モジュール(CH340, FT232など) → PC
で「Hello from PIC!」をTera Termなどで表示。
✅ Step 1:MCC Classic設定手順
-
MPLAB X IDEを起動
-
プロジェクト作成
-
Device:
PIC16F18313 -
Compiler:
XC8
-
-
メニューから
Tools → Embedded → MPLAB Code Configurator → Open/Launch MCC Classic -
MCCが開いたら:
⚙️ ① System設定
-
「System Module」→ 「Oscillator Select」:
INTOSC -
「System Clock Select」:
1MHz(デフォルトでOK)
⚙️ ② EUSART設定
-
「Peripherals」ツリー → 「EUSART」チェックを入れる
-
設定タブで:
-
Enable Transmit (TX) ✅
-
Enable Receive (RX) ✅
-
Baud Rate:
9600 -
Async Mode:
Asynchronous 記載なし -
High Baud Rate: ✅(
BRGH = 1) 記載なし
-
-
「Pin Manager」→「PPS」タブで:
-
TX → RA0
-
RX → RA1
(空きピンを使うので RA1/RA2 が一般的)とあったが、mccではこうでた!
-
⚙️ ③ Generate Code
右上の「Generate」ボタンをクリック。
✅ Step 2:main.c 例(完全版)
#include "mcc_generated_files/mcc.h"
#include <stdio.h>
// printf()出力をUARTに流す
void putch(char data)
{
EUSART_Write(data);
}
void main(void)
{
SYSTEM_Initialize();
// 確認用LED点灯(RA0などにLEDをつけている場合)
// TRISA0 = 0; // 出力
// LATA0 = 1;
printf("\r\n=== UARTテスト開始 ===\r\n");
while (1)
{
printf("Hello from PIC16F18313!\r\n");
__delay_ms(1000);
}
}
✅ Step 3:配線
| 信号 | PIC16F18313ピン | 接続先 |
|---|---|---|
| VDD | 1 | 3.3Vまたは5V |
| GND | 8 | GND |
| TX | RA1 (pin12) | USBシリアル変換モジュールの RX |
| RX | RA2 (pin11) | USBシリアル変換モジュールの TX |
| GND | 共通GND | モジュールと共有 |
※ I2C機能やLCD接続とは独立で使用可能です。
✅ Step 4:PC側設定
-
Tera Term, PuTTY などを使用
-
ボーレート:9600
-
データビット:8
-
パリティ:なし
-
ストップビット:1
-
改行表示:CR+LF(推奨)
✅ Step 5:出力例
=== UARTテスト開始 ===
Hello from PIC16F18313!
Hello from PIC16F18313!
Hello from PIC16F18313!
...
0 件のコメント:
コメントを投稿