// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code

Similar documents
CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

スライド 1

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

スライド 1

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

81 /******************************************************************************/ 82 /* スレーブアドレスの設定 */ 83 /*****************************************

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

スライド 1

スライド 1

スライド 1

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

tri_s_tg12864_vcp の説明 2014/02/05 飛石伝ひ CPU 基板 の LCD TG12864 の表示プログラムです 漢字表示 (JIS208) を行うことができます USB の VCP ( 仮想 COM ポート ) を使用して非同期シリアル通信により 表示試験を行うことができ

1. ネットワーク経由でダウンロードする場合の注意事項 ダウンロード作業における確認事項 PC 上にファイアウォールの設定がされている場合は 必ずファイアウォールを無効にしてください また ウイルス検知ソフトウェアが起動している場合は 一旦その機能を無効にしてください プリンターは必ず停止状態 (

PowerTyper マイクロコードダウンロード手順

8 if switch for while do while 2

1. LCD LS027B4DH01 について LS027B4DH01 は 400dot x 240dot のグラフィック LCD です 秋月電子通商で購入できます 外形サイズ : 62.8 x x 1.53mm LCD のフレキシブルケーブルの根元の部分はちょっと力を加えただけで表示が

ユーザーをファイルから一括登録する 登録内容を変更する ユーザーのパスワードを変更する

SP-1221 LIN I/F 基板 ユーザーズマニュアル 作成日 :2017 年 10 月 17 日

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

Taro-82ADAカ.jtd

inst.c

OPN Terminalの利用方法

スライド 1

GR-SAKURA-SAのサンプルソフト説明

画面について メイン画面 メイン画面 Logitec EXtorage Link を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 メニュー 2 端末から外部ストレージへ 3 外部ストレージから端末へ 4 端末 5 外部ストレージ 6 カメラ機能 スマホやタブレットで使

共通フィルタの条件を設定する 迷惑メール検知 (SpamAssassin) の設定 迷惑メール検知 (SpamAssassin) とは.

ETCB Manual

AutomaticTelegraphKeyProject.c

スライド 1

ユーザー一覧をファイル出力する ユーザーを検索する 登録したユーザー数を確認する

CommCheckerManual_Ver.1.0_.doc

電源管理機能を活用する 管理機から端末機の電源管理をします 複数の端末機の電源を一斉管理することで 管理者の負担を軽減できます 端末機の電源を入れるためには 次の条件が必要です コンピュータが Wake on LAN または vpro に対応している リモートで電源が入るように設定されている ネット

三菱電機マイコン機器ソフトウエア株式会社

Android プログラム ガイド

MC3000一般ユーザ利用手順書

Microsoft PowerPoint - Skype for business の概要.pptx

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

Microsoft PowerPoint - パブリックフォルダーの管理.pptx

目次. ご利用上の注意. アプリをインストールする. アプリを起動する. アプリの初期設定を行う. アプリのログインパスワードを変更する 6. アプリのメニューを操作する 7. ステータスを送信する 8. 定期位置通知間隔を変更する 9. 随時検索をする 0. メッセージ連絡をする. メッセージの連

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

2019/7/25 更新 2.2. メーラー設定 (IMAP 設定 ) この項目ではメールソフトで IMAP にて受信ができるように設定をする手順を説明します 事前にマニュアル 1.4 POP/IMAP 許可設定 1.5 メーラー (Outlook 等 ) を使う場合の設定 を行っている必要がありま

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2015/8/21 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controller Ad

WagbySpec7

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

USB_IR_Remote_Controller_Advance_Library 取扱説明書 2016/06/23 R03 Assembly Desk USB_IR_Remote_Controller_Advance_Library を使用すると 弊社製 USB IR Remote controll

1. Android 携帯電話またはタブレットの設定 この資料では Android 環境を使用して説明しています ご利用になられる OS によっては表示 等が異なる場合があります ご了承ください Android 端末で利用できる Office365 メールの機能は設定方法によって異なりま

WLX302 取扱説明書

SoftBank 201Z 取扱説明書

UIOUSBCOM.DLLコマンドリファレンス

プログラミングA

057 { 058 int i; 059 timecounter=0; 060 pwmvalue=0;x=0;v=0; 061 requestdisplaydata=1; 062 tick=1; 063 for (i=0; i<rbuffsize; i++) { 064 ringbuffer[i]=

橡00horse.PDF

スライド 1

untitled

ServerView with Data ONTAP-v インストール前にお読みください

製åfi†æ¡‹åƒ–.xlsx

Nios II - PIO を使用した I2C-Bus (2ワイヤ)マスタの実装

画面について メイン画面 メイン画面 i Smart Copy を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 詳細設定 1 詳細設定ファイル操作時の詳細などを設定します 2. アドレス帳. バックアップ 3 内部ストレージ 4 容量確認 5 外部ストレージ 4 容量

内容 1. APX-3302 の特長 APX-3312 から APX-3302 へ変更するためには 差分詳細 ハードウェア ハードウェア性能および仕様 ソフトウェア仕様および制限 Ini ファイルの設

どこでも写真管理 Plus (ios 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明である場合が

3. 対応している基本的な Microsoft Exchange 機能 サーバとの同期 Microsoft Exchange Server 上にあるメール 連絡先 カレンダーなどの情報をスマートフォンと自動同期 ( ダイレクトプッシュ ) できます スマートフォン利用者が特に意識することなくリアルタ

TCP_BP3591 の説明 V /03/28 ROHM 社製 WIFi モジュール BP3591 を使用して 無線 LAN により TCP/IP 通信を行うプログラムです 簡単な文字列によるコマンド ( 例 : LED0 ON ) を受信して LED の ON/OFF を行います 受

ワイヤレスバーコードリーダー CM-520W1 設定資料 Bluetooth SPPの設定

マイコンボードの LED 制御 準備編その 1 マイコンとノート PC の役割 どうすれば LED は光るの? 光らせる LED の選択は? マイコン端子に接続された LED マイコン端子の電圧設定 制御用ソフトウェアの注意点 1

Handbook機能ガイド

画面について メイン画面 メイン画面 Logitec EXtorage Link を起動すると メイン画面が表示されます メイン画面の構成は 次のとおりです 1 メニュー 2 端末から外部ストレージへ 3 外部ストレージから端末へ 4 端末 5 外部ストレージ 6 カメラ機能 スマホやタブレットで使

PowerPoint プレゼンテーション

                     

プログラミングA

サービス付き高齢者向け住宅賠償責任保険.indd

2 返送されてきたメールのリンクを開く 下のようなメールが返送されてきますので メールの中にあるリンクを開きます リンク リンクを開くと 下のようなサイトが表示されます 保護者様登録 から登録を進めて ください ( 学校名 ) PC サイトに対応していないフィーチャーフォンをお使いの方へ上記登録画面

<4D F736F F D20835F B B90DD92E8837D836A B5F E302E646F63>

RH850の割り込み/例外実現方法 CC-RHアプリケーションガイド

黒板作成 連携ツールの概要 黒板作成 連携ツールは 事前に撮影する工事写真用の黒板を作成するツールです 本書では EX-TREND 武蔵の写真管理 黒板作成 連携ツール ios アプリ 現場 DE カメラ土木版 の連携について 説明します 写真管理 EX-TREND 武蔵の写真管理で作成した 工種分

Microsoft Word - HOBO雨量専用説明書_v1.1.doc


目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

Microsoft Word - プログラムをRAM.doc

27

untitled

宿泊産業活性化のための実証実験

P00(表紙)

PJZ012A081_A




ごあいさつ このたびは ESMPRO/AC Advance マルチサーバオプション Ver3.6(1 ライセンス ) をお買い上げ頂き 誠にありがとうございます 本書は お買い上げ頂きましたセットの内容確認 セットアップの内容 注意事項を中心に構成されています ESMPRO/AC Advance マ

IsBOX-3100/3150 インストールガイド

PowerPoint プレゼンテーション

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

<なりすまし設定 > 1 NTTドコモ 3G 携帯 imode imenu お客様サポート 各種設定 ( 確認 変更 利用 ) メール設定 詳細設定 / 解除 を選択 認証 画面にて i モードパスワードを入力し 決定 を選択 受信 / 拒否設定 を選択 ステップ 3 の 宛先指定受信 を選択 個別

ヤマハDante機器と他社AES67機器の接続ガイド

目次 1. ログイン P2 2. 送受信管理 P メールの新規送信 P 未送信 ( 保存 ) メールの編集 削除 P 送信済みメールの状況確認 P6 3. メンバー ( 送信先 ) 管理 P メンバーの新規登録 編集 P メンバーの削除 P

Transcription:

// USB_CNC_Machine リモート PIO 端末プログラムのメイン関数およびユーザアプリ部 // 2017.03.16 編集作成 by Takehiko Inoue /*********** メイン関数 ***************************/ #pragma code void main(void) /* IO ピン初期設定 */ ANSEL = 0x00; // 0b10000000 RC3,RC2,RC1,RC0,RA4,-,-,- 全てデジタルに設定 ANSELH =0x00; // 0b00000000 -,-,-,-,RB5,RB4,RC7,RC6 デジタル TRISA = 0xFF; // 0b00111000 -,-,RA5,RA4,(RA3),-,-,- 入 力 TRISB = 0x30; // 0b00110000 RB7,RB6 出力 RB5,RB4 入力 -,-,-,- LATB = 0x00; // 出力初期化 LATC = 0x00; // 出力初期化 TRISC = 0x00; // RC0,1,2,RC3-7 出力 /* ADC 初期化 */ ADCON0 = 0; // 停止 ADCON1 = 0; // VDD-Vss ADCON2 = 0; // FOSC/2 /* USB 関連 **/ USBDeviceInit(); // USB 初期化 USBGenericInHandle = 0; USBGenericOutHandle = 0; blinkstatusvalid = TRUE; // USB 目印 LED 有効化 /** USB アタッチ許可と割り込み許可 */ USBDeviceAttach(); /*********** メインループ ***************/ while(1) /** USB 目印 LED 点滅 **/ if(blinkstatusvalid) BlinkUSBStatus(); // LED 点滅実行

/*** USB 接続中なら送受信実行 ***/ if((usbdevicestate >= CONFIGURED_STATE)&&(USBSuspendControl!=1)) ProcessIO(); // ユーザーアプリ実行 /*************************************************** * ユーザーアプリ 入出力処理関数 * USB からのコマンドにより機能実行 ***************************************************/ void ProcessIO(void) int i=0; int j=10; //Delay100TCYx(j)(10)=0.1ms の遅延 int k=9; //Delay1KTCYx(k)(9)=0.9ms の遅延 int n=15; //Delay1KTCYx(n)(15)=1.5ms の遅延 /***** データ受信処理 ******/ if(!usbhandlebusy(usbgenericouthandle)) // 受信完了か? /** 受信データ取り出し **/ blinkstatusvalid = FALSE; // USB 目印 LED 中止 counter = 0; // 送信バイト数リセット INPacket[0] = OUTPacket[0]; // エコーバック INPacket[1] = OUTPacket[1]; /******** コマンドの処理 ********/ switch(outpacket[0]) // コマンドコードチェック /** 接続確認 OK 応答 **/ case CHECK: INPacket[2] = 'O'; INPacket[3] = 'K'; counter=0x04; // 送信バイト数 4

/** 出力ピン出力要求と状態応答の場合 ***/ 軸回転方向 case POUT: if(!mpi_1) LimitStop(); else if(outpacket[1] == 0x32) // DO アドレス 1PO2_X if(outpacket[2] == 0x30) // Off フ制御 cw(green)(+) mpo_2_off(); // フォトカプラ削除で else if(outpacket[2] == 0x31) // On 制御 ccw(red)(-) mpo_2_on(); // フォトカプラ削除で 軸回転方向 INPacket[2] = mpio_2 + 0x30; if(outpacket[1] == 0x34) // DO アドレス 1PO4_Y if(outpacket[2] == 0x30) // Off 制御 cw(green)(+) mpo_4_off(); // フォトカプラ削除で else if(outpacket[2] == 0x31) // On 制御 ccw(red)(-)

mpo_4_on(); // フォトカプラ削除で 軸回転方向 INPacket[2] = mpio_4 + 0x30; if(outpacket[1] == 0x36) // DO アドレス 1PO6_Z if(outpacket[2] == 0x30) // Off 制御 cw(green)down(-) mpo_6_off(); // フォトカプラ削除で ccw(red)up(+) else if(outpacket[2] == 0x31) // On 制御 mpo_6_on(); // フォトカプラ削除で 1PO7_MillMotor_on-off INPacket[2] = mpio_6 + 0x30; if(outpacket[1] == 0x37) // DO アドレス if(outpacket[2] == 0x31) // On 御制 run(red) mpo_7_on();

else if(outpacket[2] == 0x30) mpo_7_off(); // Off 制御 stop(green) 1.0x1/10=0.1mm) INPacket[2] = mpio_7 + 0x30; if(outpacket[1] == 0x31) // X 軸駆動 if(outpacket[2] == 0x30) // On 制御 (run) か? for(i=0;i<40;i++) // 40 パルスの発生 (1/10 回転 = //mpo_1_on(); // run clock オン制御 Delay100TCYx(j); mpo_1_off(); Delay1KTCYx(k); mpo_1_on(); else if(outpacket[2] == 0x31) // Off 制御 (stop) か? mpo_1_off(); // run clock オフ制御 // 送信バイト数 4 INPacket[2] = mpio_1 + 0x30; // 状態応答セット if(outpacket[1] == 0x33) //Y 軸駆動 if(outpacket[2] == 0x30) // On 制御か?

0.1mm for(i=0;i<40;i++) // 40 パルスの発生 =0.1 回転 = //mpo_3_on(); // On 制御 Delay100TCYx(j); mpo_3_off(); Delay1KTCYx(k); mpo_3_on(); else if(outpacket[2] == 0x31) mpo_3_off(); 0.1mm INPacket[2] = mpio_3 + 0x30; if(outpacket[1] == 0x35) //Z 軸駆動 if(outpacket[2] == 0x30) // On 制御か? for(i=0;i<40;i++) // 40 パルスの発生 =0.1 回転 = //mpo_5_on(); // On 制御 Delay100TCYx(j); mpo_5_off(); Delay1KTCYx(k); mpo_5_on(); else if(outpacket[2] == 0x31) mpo_5_off(); INPacket[2] = mpio_5 + 0x30;

か? /**** 一括転送 **************/ case ALL: /* DI 状態セット */ if(mpi_1) INPacket[2] = 0x30; else INPacket[2] = 0x31; LimitStop(); counter = 4; // LimitSwitch 状態 OK // OK-On 応答セット // Stop-off 応答セット if(mpi_2) INPacket[3] = 0x31; else INPacket[3] = 0x30; counter = 4; /** リセットデバイス ***/ case RESET: Reset(); /*** 不明 ****/ default: Nop(); /**** USB 送受信実行 *****/

if(counter!= 0) // 送信データありか? if(!usbhandlebusy(usbgenericinhandle)) // ビジーチェック /* 送信実行 */ USBGenericInHandle = USBGenWrite(USBGEN_EP_NUM,(BYTE*)&INPacket,64); /* 次の受信実行 */ USBGenericOutHandle = USBGenRead(USBGEN_EP_NUM,(BYTE*)&OUTPacket,USBGEN_EP_SIZE);