2014年12月31日水曜日

STM32開発環境

これまで電子工作では、ずっと国産ルネサスを応援して使っていたのだけれど、今回、マウスにはSTM32を使うことにした。世界標準のarmシリーズだし、国内マウサーでも使っている人が多いからだ。

それで、開発環境としては、Eclipseとか、CoIDEとかいろいろな無料環境もあるのだけれど、ねむいさんのブログで紹介されている環境を作ってみた。

環境を作った後、同じくねむいさんが公開しているサンプルプロジェクトのmakeまでは上手くいったのだけれど、STM32の導入としてLチカをしようと思うのだけれど、プロジェクトが複雑すぎて、何を削っていいのか良く分からなかった。
それに、makefileというのをこれまで使ったことはなかったので、内容をどう変えていいのか、そこから始めないと。

それで、今日になってようやくmakeが通って、ターゲットにプログラムを書き込んで実行することが出来た。
さぁ、これから手探りでSTM32を食べていこう。

STM32F4 discovery向けのLチカプロジェクトをこちらに保存しておく。

#include "stm32f4xx.h"

int main(void)
{
  /* structure to initialize GPIO */
  GPIO_InitTypeDef GPIO_InitStructure;

  // --------------------------------------------------
  // Port A 設定(SW入力) ここから
  //   SW on = 1 , off = 0
  /* supply the clock to AHB1(GPIOD) */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
  //GPIO pin configuration
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  // Port A 設定(SW入力) ここから
  // --------------------------------------------------

  // --------------------------------------------------
  // Port D 設定(LED出力) ここから
  // PD12(LED4) , PD13(LED3) , PD14(LED5) , PD15(LED6)
  //  GPIOD->BSRRL(点灯) , GPIOD->BSRRH(消灯)
  /* supply the clock to AHB1(GPIOD) */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE);
  //GPIO pin configuration
  GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOD,&GPIO_InitStructure);
  // Port D 設定(LED出力) ここまで
  // --------------------------------------------------

  while(1){
    if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)){
      //ボタンが押されて1になっていたら以下を実行
      GPIOD->BSRRL = GPIO_Pin_13;  // (点灯)
    }else{
      GPIOD->BSRRH = GPIO_Pin_13;  // (消灯)
    }
  }

  return 0;
}


2014年12月9日火曜日

買い物:モータドライバbyスイッチサイエンス

12月5日(金)の夜に注文した部品が到着した。
支払いはPayPal経由で出来るし、荷物もメール便でポスト投函なので、安心・楽が出来る。

買ったものは以下のモータドライバ。
LPCは送料無料にするための値段合わせ。


******************************************************************
ご注文商品明細
******************************************************************
商 品 名:デュアルモータードライバTB6612FNG(連続最大1A)
商品コード:POLOLU-713(商品番号:236)
数量   :2 個
単品価格 :¥ 637
-----------------------------------------------------------
商 品 名:デュアルモータードライバDRV8835
商品コード:POLOLU-2135(商品番号:1637)
数量   :2 個
単品価格 :¥ 583
-----------------------------------------------------------
商 品 名:LPC810M021FN8
商品コード:NXP-LPC810M021FN8(商品番号:1530)
数量   :6 個
単品価格 :¥ 97
-----------------------------------------------------------
小 計 ¥ 3,022
送 料 ¥ 0
値引き ¥ 0
手数料 ¥ 0
===============================================================
合 計 ¥ 3,022

2014年12月7日日曜日

買い物:stm32マイコンボードby秋月

12月5日に注文していたものが届いた。
欲しいのはSTM32のマイコンボード。
他はおまけ。

 1.STM32F4DISCOVERY
  価格:¥1,750 × 数量:1 = 合計:¥1,750
 2.STM32 Nucleo Board STM32F401
  価格:¥1,500 × 数量:1 = 合計:¥1,500
 3.STM32F3評価ボード STM32F3DISCOVERY
  価格:¥1,250 × 数量:1 = 合計:¥1,250
 4.フルブリッジドライバ 7V BD6211F-E2
  価格:¥100 × 数量:4 = 合計:¥400
 5.SOP8(1.27mm)DIP変換基板 金フラッシュ (9枚入)
  価格:¥100 × 数量:1 = 合計:¥100
 6.TSOP18ピン変換基板 AE-TSOP-2
  価格:¥60 × 数量:10 = 合計:¥600
 7.SOP16ピンDIP変換基板 (1枚)
  価格:¥50 × 数量:10 = 合計:¥500
 8.SOT23変換基板 金フラッシュ (10枚入)
  価格:¥150 × 数量:1 = 合計:¥150
 9.SSOP28ピン(0.65mm)DIP変換基板
  価格:¥50 × 数量:10 = 合計:¥500
 10.表面実装 低損失CMOS三端子レギュレータ 3.3V150mA (5個入)
  価格:¥200 × 数量:1 = 合計:¥200
 11.低損失ポイントレギュレーター 3.3V200mA TAR5SB33(10個入)
  価格:¥280 × 数量:1 = 合計:¥280
 12.ローノイズ低飽和型レギュレータ 3.3V100mA NJM2863F33 10個入
  価格:¥200 × 数量:1 = 合計:¥200
 13.74HCU04使用 ヘッドホンアンプキット
  価格:¥840 × 数量:1 = 合計:¥840
【お買上金額】
 商品金額合計:  ¥8,270
 送料:    ¥500
 手数料:   ¥300
 注文金額合計:  ¥9,070
【お支払方法】 代金引換
--------------------------------------------------