STBeeでLチカやってみました
ポートの入力/出力です
↓
#include "stm32f10x_conf.h"
#define GPDON(PIN) { GPIOD -> BSRR = _BV(PIN); }
#define GPDOF(PIN) { GPIOD -> BRR = _BV(PIN); }
#define GPDSET(PIN, bit) { if(bit){
GPDON(PIN); }else{ GPDOF(PIN); } }
void Delay(volatile
unsigned long
delay)
{ while(delay) delay--; }
int main(void) {
int
flag;
GPIO_InitTypeDef
GPIO_InitStructure;
// システムを初期化します(外部水晶をONにし72MHz動作に切り替えます)
SystemInit();
//
GPIO A/Dポートのクロックを有効にします
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,
ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,
ENABLE);
//
PD.4ポートを出力にします。PD.4=赤LED Lowで点灯
GPIO_InitStructure.GPIO_Pin =
_BV(4);
GPIO_InitStructure.GPIO_Mode
= GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed
= GPIO_Speed_50MHz;
GPIO_Init(GPIOD,
&GPIO_InitStructure); // 初期化関数を読み出します。
//
PA.0ポートを入力に
GPIO_InitStructure.GPIO_Pin =
_BV(0);
GPIO_InitStructure.GPIO_Mode
= GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,
&GPIO_InitStructure);
for
( ; ; ) {
flag =
!flag;
GPDSET(4,
flag);
Delay(GPIO_ReadInputDataBit(GPIOA,
1) ? 1000000 : 2000000);
}
}
↑
開発環境はストリナで配布されてるモノ
ユーザースイッチが押されているか押されていないかで点滅周期が変わるプログラム
とりあえず入出力ができるようになったので
あとは割り込みとシリアル通信が出来れば
かなり色々と遊べる
タイマ割り込み/シリアル通信/ADCが出来れば 最低限の缶サットは作れるしなぁ
割り込みはめんどくさそうだし
とりあえずUSARTとADCを目指して
PIC飛ばす前にSTBee飛ぶかも?(缶サット
開発環境はストリナで配布されてるモノ
ユーザースイッチが押されているか押されていないかで点滅周期が変わるプログラム
とりあえず入出力ができるようになったので
あとは割り込みとシリアル通信が出来れば
かなり色々と遊べる
タイマ割り込み/シリアル通信/ADCが出来れば 最低限の缶サットは作れるしなぁ
割り込みはめんどくさそうだし
とりあえずUSARTとADCを目指して
PIC飛ばす前にSTBee飛ぶかも?(缶サット
0 件のコメント:
コメントを投稿