Padaukインサーキット書き込み機の基板が届いたので、早速組み立てましょう。
基板が届く
発注から10日ほどでPCBgogoから基板が到着しました。
今回は、注文時に製造番号を左側の四角の中に印刷するよう、日本語で指示していました。
基板には、指示通り四角の中に製造番号が印刷されていました。PCBgogoは日本語だけで注文ができる珍しい基板屋さんです。
PCBgogoでは現在、新規登録者には$200のクーポンがもらえます。さらに$20分の送料クーポンももらえますそうですよ。
部品の購入
アナログスイッチICは、NT名古屋を見学するときに立ち寄った、名古屋市街にあるボントンというお店で購入しました。カウンターの中のおじさんにICの型番を伝えると、背後に並んだ部品ケースからICを探し出してくれるという、昔ながらの販売スタイルでした。
ICは、アルミホイルで包ままれて渡されました。
部品が揃ったので、はんだ付けしましょう。
組み立て
ほとんどDIP部品なので、はんだ付けは簡単です。
あっという間に、組み立て完了!
実験
回路
実験回路は上の図のようになっています。
Padaukマイコンの6つのIOピンにLEDを接続します。LEDはプログラムの書き込みに必要なピンと、書き込みに必要ではないピンと両方に接続してみます。前回の実験では、書き込みに必要のないピンにLEDを接続すると正常に書き込めませんでした。今回は書き込めるでしょうか?
Padaukマイコンには、PFS123を使います。

実際に接続した様子です。左から「書き込み機」「インサーキット書き込み機」「ブレッドボード」です。
プログラム
#include <pdk/device.h>
#include <stdint.h>
#include "auto_sysclock.h"
#include "delay.h"
#define LED1_BIT 4
#define LED1_PORT PB
#define LED1_PORTCONT PBC
#define LED2_BIT 7
#define LED2_PORT PB
#define LED2_PORTCONT PBC
#define LED3_BIT 5
#define LED3_PORT PA
#define LED3_PORTCONT PAC
#define LED4_BIT 4
#define LED4_PORT PA
#define LED4_PORTCONT PAC
#define LED5_BIT 0
#define LED5_PORT PB
#define LED5_PORTCONT PBC
#define LED6_BIT 2
#define LED6_PORT PB
#define LED6_PORTCONT PBC
#define LED1_ON() LED1_PORT &= ~(1 << LED1_BIT)
#define LED1_OFF() LED1_PORT |= (1 << LED1_BIT)
#define LED2_ON() LED2_PORT &= ~(1 << LED2_BIT)
#define LED2_OFF() LED2_PORT |= (1 << LED2_BIT)
#define LED3_ON() LED3_PORT &= ~(1 << LED3_BIT)
#define LED3_OFF() LED3_PORT |= (1 << LED3_BIT)
#define LED4_ON() LED4_PORT &= ~(1 << LED4_BIT)
#define LED4_OFF() LED4_PORT |= (1 << LED4_BIT)
#define LED5_ON() LED5_PORT &= ~(1 << LED5_BIT)
#define LED5_OFF() LED5_PORT |= (1 << LED5_BIT)
#define LED6_ON() LED6_PORT &= ~(1 << LED6_BIT)
#define LED6_OFF() LED6_PORT |= (1 << LED6_BIT)
void main() {
PDK_USE_FACTORY_IHRCR_16MHZ();
PDK_USE_FACTORY_BGTR();
AUTO_INIT_SYSCLOCK();
CLKMD &= ~CLKMD_ENABLE_WATCHDOG; // Disenable WDT
LED1_PORTCONT |= (1 << LED1_BIT); // Set LED pin as output
LED2_PORTCONT |= (1 << LED2_BIT); // Set LED pin as output
LED3_PORTCONT |= (1 << LED3_BIT); // Set LED pin as output
LED4_PORTCONT |= (1 << LED4_BIT); // Set LED pin as output
LED5_PORTCONT |= (1 << LED5_BIT); // Set LED pin as output
LED6_PORTCONT |= (1 << LED6_BIT); // Set LED pin as output
LED1_OFF();
LED2_OFF();
LED3_OFF();
LED4_OFF();
LED5_OFF();
LED6_OFF();
while(1)
{
LED1_ON();
_delay_ms(200);
LED1_OFF();
LED2_ON();
_delay_ms(200);
LED2_OFF();
LED3_ON();
_delay_ms(200);
LED3_OFF();
LED4_ON();
_delay_ms(200);
LED4_OFF();
LED4_OFF();
LED5_ON();
_delay_ms(200);
LED5_OFF();
LED4_OFF();
LED6_ON();
_delay_ms(200);
LED6_OFF();
LED4_OFF();
}
}
6つのLEDが順番に点灯するプログラムを作りました。
[env:development] platform = https://github.com/kohacraft/platform-padauk.git ; ボードのリポジトリ board = PFS173 ; 使うマイコンの選択 framework = easypdk ; ヘッダーとかを追加 board_build.f_cpu = 1000000 extra_scripts = post:extra_script.py
マイコンにはPFS123を使います。PFS123はPFS173の後継機種で全てが同じなので、platformio.iniのboardにはPFS173と設定します。
参考までの、プログラム全体を貼っておきます。
書き込み
スイッチを「WRITE」にしてから書き込みを行います。
コンパイルしてできたBinファイルを、書き込み機のドライブ「PADAUK PROG」にドラッグ&ドロップします。
正常に書き込めて、「OK」のLEDが点灯しました。
書き込めましたよ!
実行
プログラムを動作させるためには、スイッチを「WRITE」から「RUN」に切り替えます。
LEDが点灯しました!!
インサーキット書き込み機が、正常に動作することが確認できました!
完成!
Padaukマイコン用の、インサーキット書き込み機が完成しました。これで、Padaukマイコンを使った回路とそのプログラム開発が捗りますよ。
制作した世界最強のSuper Easy PDK Programmer頒布しています。詳しくはこちら👇👇👇























コメント