2021年6月8日火曜日

TINY AVR0 シリーズのポートの構成

 こんにちは、

 

やましょうです。

 

 AVR TINY 0 シリーズ(AVR  TINY   202,402,204,404,804,1604,1606,806,406,807,1607)

実際にはATtiny202を使ってみようと思ったのですが、いろいろ検索をしてみたのですが、

何もみつからなったので、記載しておきたいと思います。


1.ポートのレジスタ構成がPICポイ。W

iotn202.hを見てみます。
typedef struct PORT_struct
{
    register8_t DIR;  /* Data Direction */
    register8_t DIRSET;  /* Data Direction Set */
    register8_t DIRCLR;  /* Data Direction Clear */
    register8_t DIRTGL;  /* Data Direction Toggle */
    register8_t OUT;  /* Output Value */
    register8_t OUTSET;  /* Output Value Set */
    register8_t OUTCLR;  /* Output Value Clear */
    register8_t OUTTGL;  /* Output Value Toggle */
    register8_t IN;  /* Input Value */
    register8_t INTFLAGS;  /* Interrupt Flags */
    register8_t reserved_0x0A;
    register8_t reserved_0x0B;
    register8_t reserved_0x0C;
    register8_t reserved_0x0D;
    register8_t reserved_0x0E;
    register8_t reserved_0x0F;
    register8_t PIN0CTRL;  /* Pin 0 Control */
    register8_t PIN1CTRL;  /* Pin 1 Control */
    register8_t PIN2CTRL;  /* Pin 2 Control */
    register8_t PIN3CTRL;  /* Pin 3 Control */
    register8_t PIN4CTRL;  /* Pin 4 Control */
    register8_t PIN5CTRL;  /* Pin 5 Control */
    register8_t PIN6CTRL;  /* Pin 6 Control */
    register8_t PIN7CTRL;  /* Pin 7 Control */
    register8_t reserved_0x18;
    register8_t reserved_0x19;
    register8_t reserved_0x1A;
    register8_t reserved_0x1B;
    register8_t reserved_0x1C;
    register8_t reserved_0x1D;
    register8_t reserved_0x1E;
    register8_t reserved_0x1F;
} PORT_t;

うんーーー最近のpic32に似ています。
まず、dirは入出力設定だと思います。
そのあとSET(bitを立てる用)のレジスタ
そのあとCLR(bitを下げる用)のレジスタ
 そのあとTGL(bitを反転用)のレジスタですね。
その後は、出力ラッチと入力ラッチ 別になっていますね。
あと各PINの機能も1BYTE毎に設定(PINxCTRL)内容としてはPULLUP&反転、割込み設定。
ですね。

次回はタイマを書きたいなぁ。

以上
やましょうでした。

0 件のコメント:

コメントを投稿