STM32開発ボードのプログラム方法


17

私はARMマイクロコントローラーのプログラミングに完全に慣れていますが、AVRおよびPICマイクロコントローラーの経験はあります。

数日前、eBayからSTM32F103VET6開発ボードを購入しました。今、このボードをプログラムしようとしていますが、どこから始めればいいのかわかりません。また、いくつかのデータシートといくつかのドキュメント(すべて中国語)を含むCDを受け取りました。

誰かが開始方法を教えてもらえますか?または、誰かがソースサンプルを持っていますか?

Keil uVision4はすでにインストールしています。J-linkデバッガーもあります。


2
なぜこれが否決されたかはわかりません。適切に表現された明確な質問のように見え、OPは自分自身を助けようとしました。開発/設計に関連しているので、トピックのようです。投票しました。
icarus74

これは、ebayで開発ボードを購入することの欠点の1つです。多くの場合、彼らは地元の市場向けに設計されており、高品質の英語(外国語)マニュアルを作成し、ユーザーフォーラムをシード/開発/メンテナンスするのはコストと手間がかかりすぎます。また、それはもう少し高価なボードがすでにサービスを提供している市場です。そうは言っても、過去に私はこれを難しい方法で学び、中国語のマニュアルのほとんどの部分をグーグル翻訳機を使って英語に翻訳しました。完璧とはほど遠いが、私を動かした。
icarus74

明らかに、マニュアルのソフトコピーが必要です。これには、写真画像ではなく、個別の文字としてテキストが含まれています。OCRされたテキストは、このアプローチにとって厳密なノーノーです。
icarus74

ああ、もう一つ。これらの極東の開発ボードのほとんどは、Olimex、IARなどの有名企業による一部の開発ボードの100%のノックオフです。そのため、ボードやその他のボードの詳細な目視検査は非常に明らかになります。もちろん、落とし穴があるかもしれません。そして、それは時々お金を節約するために支払う価格です:
icarus74

回答:


5

あなたが見たいなら、私はウインカーの例を持っています

#include "stm32f10x_conf.h"

/* led connected to a gpio pin */
#define LED1_PIN    GPIO_Pin_0
#define LED1_PORT   GPIOB
#define LED2_PIN    GPIO_Pin_3
#define LED2_PORT   GPIOC
#define LED3_PIN    GPIO_Pin_0
#define LED3_PORT   GPIOA
#define LED4_PIN    GPIO_Pin_0
#define LED4_PORT   GPIOE


/* user functions */
void delay(unsigned long count);

int main()
{
    GPIO_InitTypeDef GPIO_InitStructure;



    /* enable clock on GPIOB peripheral */
    //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
    RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOA, ENABLE);                          


    /* set pin output mode */
    GPIO_InitStructure.GPIO_Pin = LED1_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(LED1_PORT, &GPIO_InitStructure);
    //LED 2
    GPIO_InitStructure.GPIO_Pin = LED2_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(LED2_PORT, &GPIO_InitStructure);
    //LED 3
    GPIO_InitStructure.GPIO_Pin = LED3_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(LED3_PORT, &GPIO_InitStructure);
    //LED 4
    GPIO_InitStructure.GPIO_Pin = LED4_PIN;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(LED4_PORT, &GPIO_InitStructure);
    while(1)
    {
        GPIO_SetBits(LED1_PORT, LED1_PIN);  // set pin high
        delay(2000000);
        GPIO_ResetBits(LED1_PORT, LED1_PIN);    // set pin low
        delay(2000000);

        GPIO_SetBits(LED2_PORT, LED2_PIN);  // set pin high
        delay(2000000);
        GPIO_ResetBits(LED2_PORT, LED2_PIN);    // set pin low
        delay(2000000);

        GPIO_SetBits(LED3_PORT, LED3_PIN);  // set pin high
        delay(2000000);
        GPIO_ResetBits(LED3_PORT, LED3_PIN);    // set pin low
        delay(2000000);

        GPIO_SetBits(LED4_PORT, LED4_PIN);  // set pin high
        delay(2000000);
        GPIO_ResetBits(LED4_PORT, LED4_PIN);    // set pin low
        delay(2000000);
    }
    //return 0;
}



void delay(unsigned long count)
{
    while(count--);
}

3

また、非常に手頃なSTM32 Discoveryボードもご覧ください。Githubのtexane / stlinkプロジェクトのコピーを入手してください。これには、非常に役立つチュートリアルと、使い始めるための優れたソフトウェアツールが含まれています。

ボードはさまざまな場所で入手できます。

http://www.digikey.com/us/en/ph/ST/STM32_value_line_discovery.html

http://www.mouser.com/stm32discovery

http://www.newark.com/jsp/search/productdetail.jsp?SKU=21T4023

これがGithubのstlinkプロジェクトです。

https://github.com/texane/stlink


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.