入力の使い方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
**入力の概要~ [#q8681ff4]
AVRマイコンでの入力は入出力設定レジスタであるDDRX(Xは任意...
その後、PORTXの指定のビットを1にすることによりプルアップ...
~
また指定のレジスタのあるビットがセットされているかクリア...
・bit_is_set() 指定レジスタの指定のビットがセット(...
・bit_is_clear() セット(1)されてされていないかチェッ...
~
入出力レジスタがおのおのにあり~
・PORTX → 出力用~
・PINX → 入力用~
~
プルアップ抵抗(某ページの丸パクリ解説)
ボタンをつけてON,OFFを判断しようという回路を考えると次...
&ref(20121219_043032.jpg,,);
しかし書いてある通りこれではスイッチOFFのときの電圧が不...
&ref(20121219_043301.jpg,,);
また、上のような問題があるので普通は下の回路だそうです。
&ref(20121219_043603.jpg,,);
これでできました
~
***Sample2.1 ~ [#w2512ce2]
#include <avr/io.h>
#include <util/delay.h>
#define INVERT_BIT(x, n) (x ^= (1 << n))
#define OUTPUT 0
#define INPUT 1
#define FALSE 0
#define TRUE 1
int main(void)
{
DDRD = 0x01; // 0000 0001 PD0を出力 PD1を入力
PORTD = 0xFE; // 1111 1110 入力をプルアップする
uint8_t bButton; //前回のボタン情報を保持
bButton = bit_is_clear(PIND, INPUT); //ONで1 OFFで0
while(1)
{
if(bButton ^ bit_is_clear(PIND, INPUT)) { //前回のボ...
if(bButton == 0) { //離した時
}else{ //押した時
INVERT_BIT(PORTD, OUTPUT);
}
bButton = bit_is_clear(PIND, INPUT); //更新
}
}
}
・回路図~
タクトスイッチについてはチャタリング対策をしないといけま...
ここでは「RC積分回路」を使いたいと思います。(詳しいことは...
プログラム中でWaitしたりバッファにデータをためて判断する...
~
注意:下の回路は電子回路について無知な電電一回生が考えて...
勉強会ということなのでこの課題についてみんなで考えていき...
&ref(gazou4.jpg,,);
終了行:
**入力の概要~ [#q8681ff4]
AVRマイコンでの入力は入出力設定レジスタであるDDRX(Xは任意...
その後、PORTXの指定のビットを1にすることによりプルアップ...
~
また指定のレジスタのあるビットがセットされているかクリア...
・bit_is_set() 指定レジスタの指定のビットがセット(...
・bit_is_clear() セット(1)されてされていないかチェッ...
~
入出力レジスタがおのおのにあり~
・PORTX → 出力用~
・PINX → 入力用~
~
プルアップ抵抗(某ページの丸パクリ解説)
ボタンをつけてON,OFFを判断しようという回路を考えると次...
&ref(20121219_043032.jpg,,);
しかし書いてある通りこれではスイッチOFFのときの電圧が不...
&ref(20121219_043301.jpg,,);
また、上のような問題があるので普通は下の回路だそうです。
&ref(20121219_043603.jpg,,);
これでできました
~
***Sample2.1 ~ [#w2512ce2]
#include <avr/io.h>
#include <util/delay.h>
#define INVERT_BIT(x, n) (x ^= (1 << n))
#define OUTPUT 0
#define INPUT 1
#define FALSE 0
#define TRUE 1
int main(void)
{
DDRD = 0x01; // 0000 0001 PD0を出力 PD1を入力
PORTD = 0xFE; // 1111 1110 入力をプルアップする
uint8_t bButton; //前回のボタン情報を保持
bButton = bit_is_clear(PIND, INPUT); //ONで1 OFFで0
while(1)
{
if(bButton ^ bit_is_clear(PIND, INPUT)) { //前回のボ...
if(bButton == 0) { //離した時
}else{ //押した時
INVERT_BIT(PORTD, OUTPUT);
}
bButton = bit_is_clear(PIND, INPUT); //更新
}
}
}
・回路図~
タクトスイッチについてはチャタリング対策をしないといけま...
ここでは「RC積分回路」を使いたいと思います。(詳しいことは...
プログラム中でWaitしたりバッファにデータをためて判断する...
~
注意:下の回路は電子回路について無知な電電一回生が考えて...
勉強会ということなのでこの課題についてみんなで考えていき...
&ref(gazou4.jpg,,);
ページ名: