कैसे एसटीएम 32 विकास बोर्ड कार्यक्रम करने के लिए


17

मैं प्रोग्रामिंग एआरएम माइक्रोकंट्रोलर के साथ कुल शुरुआत कर रहा हूं, लेकिन मुझे एवीआर और पीआईसी माइक्रोकंट्रोलर के साथ अनुभव है।

कुछ दिन पहले ही मैंने eBay से STM32F103VET6 डेवलपमेंट बोर्ड खरीदा है। मैं अब इस बोर्ड को प्रोग्राम करने की कोशिश कर रहा हूं, लेकिन मुझे नहीं पता कि कहां से शुरू किया जाए। मुझे एक सीडी भी मिली है जिसमें कुछ डेटशीट और कुछ दस्तावेज (सभी चीनी में) हैं।

कोई मुझे बता सकता है कि कैसे शुरू करें? या किसी के पास कुछ स्रोत नमूने हैं?

मैंने पहले ही Keil uVision4 स्थापित कर लिया है। मेरे पास एक जे-लिंक डीबगर भी है।


2
निश्चित नहीं है कि यह मतदान क्यों किया गया। एक स्पष्ट प्रश्न की तरह दिखता है, ठीक से व्यक्त किया गया है, और ओपी ने खुद की मदद करने की कोशिश की है। विकास / डिजाइन से संबंधित है, इसलिए विषय पर लगता है। वोट दिया।
icarus74

यह ईबे पर देव बोर्ड खरीदने के डाउनसाइड्स में से एक है, जो कि दूर-पूर्व से शिपिंग करते हैं। अक्सर समय, उन्हें स्थानीय बाजार के लिए डिज़ाइन किया जाता है, और एक उच्च गुणवत्ता वाली अंग्रेजी (उनके लिए एक विदेशी भाषा) मैनुअल प्राप्त करना, उपयोगकर्ता मंच को बनाना / विकसित करना / बनाए रखना बहुत अधिक लागत और परेशानी है। इसके अलावा यह एक बाजार है जो पहले से ही थोड़ा अधिक महंगे बोर्डों द्वारा परोसा जाता है। यह कहते हुए कि, मैंने अतीत में इसे कठिन तरीके से सीखा था, और गूगल ट्रांसलेटर का उपयोग करके चीनी के मैनुअल के अधिकांश हिस्सों को अंग्रेजी में अनुवाद करने के लिए उतरा। बिल्कुल सही, लेकिन मुझे आगे बढ़ना पड़ा।
icarus74

जाहिर है, आपको मैनुअल की सॉफ्टकॉपी की आवश्यकता होती है, जिसमें असतत पात्रों के रूप में पाठ होता है, फोटो-छवि नहीं। इस दृष्टिकोण के लिए OCR'd टेक्स्ट एक सख्त नो-नो है।
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 डिस्कवरी बोर्ड को देखें। जीथब पर टेक्साने / स्टिंकल प्रोजेक्ट की एक प्रति पकड़ो, जिसमें शुरुआत करने के लिए अच्छे सॉफ्टवेयर टूल के साथ एक बहुत ही उपयोगी ट्यूटोरियल है।

आप विभिन्न स्थानों पर बोर्ड प्राप्त कर सकते हैं।

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 पर स्टिंक प्रोजेक्ट है।

https://github.com/texane/stlink


2

आपको STM32F103 की प्रोग्रामिंग पर बहुत सारी जानकारी यहाँ मिलेगी:

http://www.st.com/internet/mcu/product/164486.jsp

बहुत सारे उदाहरणों के साथ।

आप एसटी बोर्डों में से एक के साथ चीजों को बहुत आसान पाएंगे, जैसे कि यह एक:

http://www.st.com/internet/evalboard/product/250863.jsp

वे बहुत सस्ती हैं और बहुत सारे दस्तावेज और उदाहरण उपलब्ध हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.