USB

PYCSYS USBリファレンス

USB通信

USBによるシリアル通信処理を行います。これらの機能は、USB通信機能が組み込まれているMCUチップを利用しているボードでのみ利用できます。

  • void USB_begin(void)
    USB通信機能を利用可能にします。

  • void USB_end(void)
    USB通信機能を停止させます。

  • int USB_attached(void)
    USBでPCと接続されているかどうかを確認します。

  • int USB_baudrate(void)
    USBで接続されている仮想COM(RS232C)回線のボーレートを返します。

  • int USB_available()
    USB受信器に文字が受信されているかどうかを返します。

  • int USB_getc(char)
    USB受信器から1文字取得します。

PICSYS18-XBEEでUSB-XBEE

お待たせしていましたが、PICSYS18-1.00RCでは、やっとUSB(CDC)が使えるようになりました。PICSYS18-XBEEでこの機能を利用すると、PC-XBEE接続も以下のように簡単に記述できます。(データをリレーしてるだけだけどね。。。:-P)

PICSYS18-XBEEへのXBEEの搭載例

Arduinoと異なり、PICSYS18-XBEEのUSB通信路とXBEEへのシリアル通信路は完全に独立しているので、ブートローダーによるMCUへのプログラムの書き込み時にXBEEの接続回路を変更する必要もないし、XBEEとUSB経由のPCとの連携も簡単に行えます。

PIC18F26J50

PIC18F26J50は、USB機能を内蔵した新世代のPIC18チップです。
USBを内蔵したPICとして広く用いられているPIC18F2550や、ArduinoのコアチップであるATmega328Pとの大まかな比較を以下に示します。

PIC18-USBサンプルプログラム

整備中

○ USBサンプルプログラム

USBブートローダーのパッケージには、ブートローダーで書き込むことができるUSBプログラムのサンプルも同梱しています。。

USBプログラミングのサンプルとして以下のような例を含んでいます。

  • CDC - Basic Demo
  • HID - Joystick
  • HID - Keyboard
  • Mass Storage - Internal Flash

PIC18-USBブートローダー

Arduinoの様にPC側のブートローダーがIDEと連携できていないため、少し面倒かなと思いましたが。。。

ブートローダをそのものをチップに書き込むとき以外は、PICkit2を全く使わなくなりました。きわめて快適です。:-)


○ 対応ボード

USBインターフェースを内蔵したPIC18を利用した以下のボードのUSBブートローダーのご提供を開始しました。

USBブートローダーを利用するとPICkit2/3などのプログラムライタを利用しなくても、USB接続を通じてPIC18チップへのプログラム書き込みを行うことができる様になります。(ブートローダーそのもののチップへの書き込みにはプログラムライタが必要だけどね。。。X-P)

USBブートローダー:HIDBootLoader.exeの画面

パッケージのはすぐにチップに書き込めるHEXファイルと、ソースファイルが含まれています。

PICSYS18-XBEE

PICSYS18-XBEEをサポートしたPICSYS18フレームワークのご提供を開始しました。USBブートローダも利用できます。USBブートローダーによるプログラムの書込み操作がMPLAB IDEと統合されていないので、Arduinoと比べると少しスマートさにかけますが、ハード的なプログラムライタを使わず気軽にプログラムを書き込めるのでお試しください。

PIC18F26J50チップ、USBインターフェース、LED2個、スイッチ5個、温度センサ、光センサを搭載したArduino形状のPICSYS18ボードです。Arduinoのリファレンスボードと同様に、さまざまなプロジェクトのベースボードとして利用できるだけでなく、単体でもいろいろな活用が楽しめます。

ネットショップ

PICSYS18-XBEE

PICSYS24-CORE

16ビットMCUのPIC24Fを搭載したPICSYSのコンパクトプラットフォームです。
Arduinoのリファレンスボードと同じサイズですが、8ビットMCUを利用しているArduinoに比べて高性能であるだけでなく、RAMの容量もATmega328Pに比べると8倍、Arduino MEGAに比べても2倍の16KBを搭載しており、様々な用途に余裕で対応できます。

ネットショップ:好評発売中

PICSYS24-CORE

USBディスプレイ

USBで送られてきた文字をUSBにエコーバックするとともに、LCDに表示します。

usbdisp1.c: USBからの文字列をLCDに表示



#include "picsys24.h" void setup() { GLCD_initDefault() ; Serial1_begin(19200) ; } void loop() { int c ; if (Serial1_available()) { c = Serial1_getc(); Serial1_putc(c); GLCD_putc(c) ; if (c == '\r') { Serial1_putc('\n') ;

USBによるシリアル通信

USBで送られてきた文字をUSBにエコーバックするとともに、LCDに表示します。

usbecho1.c: USBのエコーバックプログラム



#include "picsys24.h" void setup() { GLCD_initDefault() ; Serial1_begin(19200) ; // USBの初期化、COMポート的には19200ボーに設定 } void loop() { char c ; if (Serial1_available()) { c = Serial1_getc(); Serial1_putc(c); if (c == '\r')

USB経由のRCサーボ制御

PIC24F-MOD-GA002UにはUSB通信チップが実装されており、PCと簡単に通信することができます。ここでは、Windowsのハイパーターミナルなどを利用してキーボードから入力した数値でRCサーボの回転角を制御するプログラムを示します。

コンテンツ配信
項目 PIC18F26J50 PIC18F2550 ATMEGA328P
稼働電圧 3.3V 3.3V-5V 3.3V-5V
プログラムメモリ 64KB 32KB 32KB
RAM