FC2カウンター

現在の訪問者数

現在の閲覧者数:

カレンダー

06 | 2017/07 | 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

プロフィール

剣菱P

Author:剣菱P
剣菱Pと申します。
性別:男
年齢:27
二兎を追って一兎も得られないタイプ

マイコンやプログラミング、ニコニコ動画、雑記等
方向性は見えずとも、ちょっとずつ更新していく予定です!

リンクフリーです。
こんなブログでよかったらよろしくお願いしま~す。

公開メール kenbishiP@gmail.com

検索フォーム

最新記事

最新コメント

カテゴリ

メールフォーム

名前:
メール:
件名:
本文:

月別アーカイブ

最新トラックバック

リンク

ブロとも一覧

ブロとも申請フォーム

ランキング

ランキング参加中です。気が向いたらクリックしてあげてください。


にほんブログ村 その他趣味ブログへ
にほんブログ村 その他趣味ブログ 趣味の工作へ

スポンサーサイト


上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


H8+CPLD


CPLDを使ってエンコーダの信号を簡略化させたので

マイコンの外部割込みで簡単に信号が読めるようになったはず

これで、複数のエンコーダにも対応できるかな?

とりあえず、簡略化したエンコーダの信号をH8で読み取ってみる

H8の開発環境はGCC Developer Liteを使ってます。

#include <3664.h>
#include "mylcd.h"
long count = 0;

void int_irq0(void){
  IRR1.BIT.IRRI0 = 0;
  if(IO.PDR1.BIT.B0 == 0) count++;
  else count--;

}

int main(){
  DI;
  IO.PMR1.BYTE = 0xfc;    //IRQ0-3使用
  IEGR1.BYTE = 0xef;     //IRQ0-3 立ち上がりエッジ選択
  IENR1.BYTE = 0x9f;     //IRQ0-3 イネーブル
  IRR1.BYTE = 0x00;       //IRQ0-3 割り込みフラグクリア

  EI;
  LCD_init(16);
  IO.PCR1 = 0x00;
  while(1){
    LCD_locate(1,1);
    LCD_dataout2(count,5);
  }
}


LCD用のヘッダファイル mylcd.hを自作して使ってますが、
てきとうにつくってしまったので、関数が整理されてません。


ロータリーエンコーダの回転速度があまりに速いと無理でしょうけど、

これでとりあえずIRQが4つあるので エンコーダも4つ読めるかな

同時に割り込み入ったりしてうまく読めないのかな?

試してみないとわからないけど、エンコーダが手元に一つしかない



回転方向に合わせてカウントが上がったり下がったり
[広告] VPS

スポンサーサイト

H8 3664


結構前につくった H8 3664の実験ボード

H8のボードに搭載されたレギュレータの他にもう一つ3端子レギュレータを増設し

プログラムの書き込み、実行を切り替えるスライドスイッチをつけ

プログラムの書き込みが出来るようにD-sub9コネクタをつけ

簡単に実験が出来るようにピンソケットをつけてあります

201002114.jpg



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。