Bagaimana program STM32 Development Board


17

Aku pemula total dengan pemrograman mikrokontroler ARM, tapi aku punya pengalaman dengan AVR dan PIC mikrokontroler.

Beberapa hari kembali saya telah membeli papan pengembangan STM32F103VET6 dari eBay. Saya sekarang mencoba program forum ini tapi saya tidak tahu di mana untuk memulai. Saya juga telah menerima CD yang berisi beberapa lembar data dan beberapa dokumen (semua dalam bahasa Cina).

Bisa seseorang memberitahu saya bagaimana untuk memulai? Atau apakah seseorang memiliki beberapa sampel source?

Saya telah menginstal Keil uVision4. Saya juga memiliki J-link debugger.


2
Tidak yakin mengapa ini ditolak. Tampak seperti pertanyaan yang jelas, benar diartikulasikan, dan OP telah mencoba untuk membantu dirinya sendiri. Berkaitan dengan pengembangan / desain, jadi sepertinya sesuai topik. Terpilih.
icarus74

Ini adalah salah satu kelemahan dari membeli papan dev di ebay, esply yang pengiriman dari jauh-timur. Sering kali, mereka dirancang untuk pasar lokal, dan mendapatkan kualitas tinggi Inggris (bahasa asing bagi mereka) panduan dibuat, penyemaian / mengembangkan / mempertahankan forum pengguna terlalu banyak biaya dan kerumitan. Juga itu adalah pasar yang sudah dilayani oleh papan sedikit lebih mahal. Karena itu, di masa lalu saya belajar dengan cara yang sulit, dan mendarat menerjemahkan sebagian besar pengguna dalam bahasa Cina ke Bahasa Inggris menggunakan google penerjemah. Jauh dari sempurna, tetapi membuat saya bergerak.
icarus74

Jelas, Anda membutuhkan softcopy dari manual, yang memiliki teks sebagai karakter diskrit, bukan foto-foto. Teks OCR'd adalah tidak-tidak ketat untuk pendekatan ini.
icarus74

Oh, dan satu hal lagi. Sebagian besar papan dev jauh-timur adalah ~ 100% knock-off dari beberapa papan dev oleh perusahaan-perusahaan terkenal seperti Olimex, IAR dll Jadi inspeksi visual rinci dari papan Anda dan ini lainnya dapat cukup mengungkapkan. Tentu saja, mungkin ada gotchas. Dan itu adalah harga satu membayar untuk menyimpan uang, pada waktu :-)
icarus74

Jawaban:


5

Saya memiliki tanda bahayanya contoh jika Anda ingin melihat

#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

Juga melihat papan STM32 Discovery sangat terjangkau. Ambil salinan proyek texane / stlink di Github, yang memiliki tutorial sangat membantu bersama dengan perangkat lunak yang baik untuk memulai.

Anda bisa mendapatkan papan di berbagai tempat.

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

Berikut proyek stlink di Github.

https://github.com/texane/stlink


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.