NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 2697 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید

نمایش نتیجه های نظرسنجی ها: چگونه STM32 را ياد بگيريم؟

رأی دهندگان
263. شما نمی توانید در این نظرسنجی رای دهید.
  • سطحي و كار راه انداز

    20 7.60%
  • دقيق و حرفه اي

    243 92.40%
صفحه 1 از 58 123456789101112131415161718192051 ... آخرینآخرین
نمایش نتایج: از 1 به 20 از 1155

موضوع: شروع آموزش stm32 بر پایه برد سفارشی

  1. #1
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    Icon17 شروع آموزش stm32 بر پایه برد سفارشی

    سلام

    Information
    قابل توجه کاربران :

    لینک تمامی پست های مهم این تایپیک جهت استفاده شما عزیزان در زیر قرار داده شده ...




    دانلود فایل ویزارد
    اولین برنامه (چشمک زن) با استفاده از ویزارد
    دانلود فایل های پروژه چشمک زن
    تشریح برنامه چشمک زن
    راه اندازی GPIO با کامپایلر IAR
    پروژه OverClock کردن STM32 با کامپایلر IAR
    دانلود کتابخانه Delay
    راه اندازی LCD کاراکتری با توابع CMSIS با کامپایلر IAR
    راه اندازی LCD گرافیکی با توابع CMSIS با کامپایلر IAR
    برنامه استفاده از سوئیچ های روی بورد با توابع CMSIS با کامپایلر IAR
    توضیحات توابع RCC از کتابخونه CMSIS
    توضیحات حالات نمونه برداری ADC
    توضیحاتی در مورد سریهای مختلف STM32F10X
    تشریح Clock security system
    باس ها در سری STM32
    تشریح چند بیت مربوط به Clock Security
    چگونگی ارتباط توابع رجیستری و CMSIS با CPU
    Alternate Function
    رجیستر های فعال و ریست کردن واحد RCC
    راه اندازی ADC با توابع رجیستری
    دانلود کتابخانه CMSIS
    توضیحات اولیه GPIO با کتابخونه CMSIS
    ادامه بحث GPIO
    ادامه GPIO
    قسمت پایانی GPIO
    دانلود پروژه Template
    قرار دادن دیتا روی پورتها , بخش GPIO
    دانلود مثال GPIO
    دستور تغییر ضریب PLL
    نکات مربوط به هدر stm32f10x_conf.h
    نمونه برداری تکی با ADC
    دانلود مثال ADC
    تغییر مد دیتا برای السیدی رنگی
    دانلود لایبرری السیدی کاراکتری مد 4 بیت
    دانلود لایبرری السیدی N96 مد 8 بیتی
    دانلود لایبرری السیدی N96 مد 16 بیتی
    نحوه پروگرم کردن از طریق پورت سریال
    نرم افزار تبدیل عکس به فایل هدر برای السیدی N96
    راه اندازی ADC با کامپایلر IAR
    راه اندازی USART با کامپایلر IAR
    راه اندازی السیدی نوکیا 6610 با کامپایلر IAR
    راه اندازی سنسور دمای داخلی میکرو با کامپایلر IAR
    راه اندازی سنسور دمای DS18B20 با کامپایلر IAR
    دانلود پروژه سنسور دمای DS18B20 با السیدی کاراکتری کامپایلر IAR
    دانلود کتابخونه راه انداز برای lcd7 اینچ با درایور ssd1963
    دانلود شماتیک بورد STM32
    راه اندازی سنسور دمای داخلی میکرو با کامپایلر Keil
    دانولد پروژه CMSIS_OS
    کار با Free RTOS
    اندازه گیری دما و ارسال با SMS
    دانلود فایل Main تنظیم شده برای RTOS
    راه اندازی SPI با کامپایلر Keil
    StdPeriph_Driver یعنی چی ؟
    راه اندازی وقفه با کامپایلر Keil
    جمع آوری مطالب آموزشی در یک فایل word تا پست 600
    راه اندازی RTC با کامپایلر Keil


    تا صفحه 67 ویرایش شد .
    ویرایش توسط Doloop : 11-04-2013 در ساعت 07:55


  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    برای شروع اطلاعات تکراری ولی مهم رو میزارم ..

    مشخصات کلی وخلاصه میکروی مورد نظر:

    The STM32F103xx medium-density performance line family incorporates the high-performance ARM Cortex™-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, three general purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, an USB and a CAN.

    The devices operate from a 2.0 to 3.6 V power supply. They are available in both the –40 to +85 °C temperature range and the –40 to +105 °C extended temperature range. A comprehensive set of power-saving mode allows the design of low-power applications.

    The STM32F103xx medium-density performance line family includes devices in six different package types: from 36 pins to 100 pins. Depending on the device chosen, different sets of peripherals are included, the description below gives an overview of the complete range of peripherals proposed in this family.

    These features make the STM32F103xx medium-density performance line microcontroller family suitable for a wide range of applications such as motor drives, application control, medical and handheld equipment, PC and gaming peripherals, GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.
    DATASHEET
    Key Features


    ARM 32-bit Cortex™-M3 CPU Core
    72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access
    Single-cycle multiplication and hardware division
    Memories
    64 or 128 Kbytes of Flash memory
    20 Kbytes of SRAM
    Clock, reset and supply management
    2.0 to 3.6 V application supply and I/Os
    POR, PDR, and programmable voltage detector (PVD)
    4-to-16 MHz crystal oscillator
    Internal 8 MHz factory-trimmed RC
    Internal 40 kHz RC
    PLL for CPU clock
    32 kHz oscillator for RTC with calibration
    Low power
    Sleep, Stop and Standby modes
    VBAT supply for RTC and backup registers
    2 x 12-bit, 1 μs A/D converters (up to 16 channels)
    Conversion range: 0 to 3.6 V
    Dual-sample and hold capability
    Temperature sensor
    DMA
    7-channel DMA controller
    Peripherals supported: timers, ADC, SPIs, I2Cs and USARTs
    Up to 80 fast I/O ports
    26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant
    Debug mode
    Serial wire debug (SWD) & JTAG interfaces
    7 timers
    Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
    16-bit, motor control PWM timer with dead-time generation and emergency stop
    2 watchdog timers (Independent and Window)
    SysTick timer 24-bit downcounter
    Up to 9 communication interfaces
    Up to 2 x I2C interfaces (SMBus/PMBus)
    Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
    Up to 2 SPIs (18 Mbit/s)
    CAN interface (2.0B Active)
    USB 2.0 full-speed interface
    CRC calculation unit, 96-bit unique ID
    Packages are ECOPACK®

    نکته جالب این هست که با همین برد (با تحقیق اولیه) میشود میکرو STM32F107 رو هم کار کرد و به امکانات بیشتری مثل شبکه و USB Host دست یافت .. البته نیاز به ایجاد لایه سخت افزاری توسط بردهای کمکی هست

    The STM32F105xx and STM32F107xx connectivity line family incorporates the high-performance ARM®Cortex™-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 256 Kbytes and SRAM 64 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, four general-purpose 16-bit timers plus a PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs, three SPIs, two I2Ss, five USARTs, an USB OTG FS and two CANs. Ethernet is available on the STM32F107xx only.

    The STM32F105xx and STM32F107xx connectivity line family operates in the –40 to +105 °C temperature range, from a 2.0 to 3.6 V power supply. A comprehensive set of power-saving mode allows the design of low-power applications.

    The STM32F105xx and STM32F107xx connectivity line family offers devices in three different package types: from 64 pins to 100 pins. Depending on the device chosen, different sets of peripherals are included, the description below gives an overview of the complete range of peripherals proposed in this family.

    These features make the STM32F105xx and STM32F107xx connectivity line microcontroller family suitable for a wide range of applications such as motor drives and application control, medical and handheld equipment, industrial applications, PLCs, inverters, printers, and scanners, alarm systems, video intercom, HVAC and home audio equipment.
    DATASHEET
    Key Features


    Core: ARM 32-bit Cortex™-M3 CPU
    72 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access
    Single-cycle multiplication and hardware division
    Memories
    64 to 256 Kbytes of Flash memory
    64 Kbytes of general-purpose SRAM
    Clock, reset and supply management
    2.0 to 3.6 V application supply and I/Os
    POR, PDR, and programmable voltage detector (PVD)
    3-to-25 MHz crystal oscillator
    Internal 8 MHz factory-trimmed RC
    Internal 40 kHz RC with calibration
    32 kHz oscillator for RTC with calibration
    Low power
    Sleep, Stop and Standby modes
    VBAT supply for RTC and backup registers
    2 × 12-bit, 1 μs A/D converters (16 channels)
    Conversion range: 0 to 3.6 V
    Sample and hold capability
    Temperature sensor
    up to 2 MSPS in interleaved mode
    2 × 12-bit D/A converters
    DMA: 12-channel DMA controller
    Supported peripherals: timers, ADCs, DAC, I2Ss, SPIs, I2Cs and USARTs
    Debug mode
    Serial wire debug (SWD) & JTAG interfaces
    Cortex-M3 Embedded Trace Macrocell™
    Up to 80 fast I/O ports
    51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant
    CRC calculation unit, 96-bit unique ID
    Up to 10 timers with pinout remap capability
    Up to four 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
    1 × 16-bit motor control PWM timer with dead-time generation and emergency stop
    2 × watchdog timers (Independent and Window)
    SysTick timer: a 24-bit downcounter
    2 × 16-bit basic timers to drive the DAC
    Up to 14 communication interfaces with pinout remap capability
    Up to 2 × I2C interfaces (SMBus/PMBus)
    Up to 5 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
    Up to 3 SPIs (18 Mbit/s), 2 with a multiplexed I2S interface that offers audio class accuracy via advanced PLL schemes
    2 × CAN interfaces (2.0B Active) with 512 bytes of dedicated SRAM
    USB 2.0 full-speed device/host/OTG controller with on-chip PHY that supports HNP/SRP/ID with 1.25 Kbytes of dedicated SRAM
    10/100 Ethernet MAC with dedicated DMA and SRAM (4 Kbytes): IEEE1588 hardware support, MII/RMII available on all packages
    ویرایش توسط alishekarriz : 02-02-2012 در ساعت 14:10

  4. کاربران : 8 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  5. #3
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    به به ، به سلامتی ! بالاخره شروع شد این آموزش .

  6. تشکرها از این نوشته :


  7. #4
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    این هم نقشه یا چارت حافظه و رجیسترها




    برای ایجاد عدد حافظه با توجه به پارامترهای معرفی شده در دیتاشیبت از فرمول زیر استفاده میشود.

    Bit banding
    The Cortex™-M3 memory map includes two bit-band regions. These regions map each
    word in an alias region of memory to a bit in a bit-band region of memory. Writing to a word
    in the alias region has the same effect as a read-modify-write operation on the targeted bit in
    the bit-band region.

    In the STM32F10xxx both peripheral registers and SRAM are mapped in a bit-band region.
    This allows single bit-band write and read operations to be performed. The operations are
    only available for Cortex-M3 accesses, not from other bus masters (e.g. DMA).

    A mapping formula shows how to reference each word in the alias region to a corresponding
    bit in the bit-band region. The mapping formula is:

    bit_word_addr = bit_band_base + (byte_offset x 32) + (bit_number × 4)

    where:
    bit_word_addr is the address of the word in the alias memory region that maps to the
    targeted bit.
    bit_band_base is the starting address of the alias region
    byte_offset is the number of the byte in the bit-band region that contains the targeted bit
    bit_number is the bit position (0-7) of the targeted bit.

    Example:
    The following example shows how to map bit 2 of the byte located at SRAM address
    0x20000300 in the alias region:

    0x22006008 = 0x22000000 + (0x300*32) + (2*4).

    Writing to address 0x22006008 has the same effect as a read-modify-write operation on bit
    2 of the byte at SRAM address 0x20000300.
    Reading address 0x22006008 returns the value (0x01 or 0x00) of bit 2 of the byte at SRAM
    address 0x20000300 (0x01: bit set; 0x00: bit reset).
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: STM32F103_RegMap-01.png
مشاهده: 4283
حجم: 25.5 کیلو بایت  
    ویرایش توسط alishekarriz : 02-02-2012 در ساعت 19:08

  8. کاربران : 4 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  9. #5
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    یک از نخستین قدمها در تنظیم پارامترها تنظیم فرکانس کاری (CLOCK) قسمتهای مختلف (مخصوصا کلاک کلی سیستم) می باشد.

    این کار با تنظیم رجیسترهای RCC انجام می شود

    Clocks
    Three different clock sources can be used to drive the system clock (SYSCLK):
    ● HSI oscillator clock سرعت بالاي داخلي
    ● HSE oscillator clock سرعت بالاي خارجي
    ● PLL clock ضرب كننده
    The devices have the following two secondary clock sources:
    سرعت پايين داخلي
    ● 40 kHz low speed internal RC (LSI RC) which drives the independent watchdog and
    optionally the RTC used for Auto-wakeup from Stop/Standby mode.
    سرعت پايين خارجي براي زمان ثانيه و دقيقه و ساعت
    ● 32.768 kHz low speed external crystal (LSE crystal) which optionally drives the real-
    time clock (RTCCLK)

    HSE clock
    The high speed external clock signal (HSE) can be generated from two possible clock
    sources:
    ● HSE external crystal/ceramic resonator
    ● HSE user external clock
    The resonator and the load capacitors have to be placed as close as possible to the
    oscillator pins in order to minimize output distortion and startup stabilization time. The
    loading capacitance values must be adjusted according to the selected oscillator.

    HSI clock
    The HSI clock signal is generated from an internal 8 MHz RC Oscillator and can be used
    directly as a system clock or divided by 2 to be used as PLL input.
    The HSI RC oscillator has the advantage of providing a clock source at low cost (no external
    components). It also has a faster startup time than the HSE crystal oscillator however, even
    with calibration the frequency is less accurate than an external crystal oscillator or ceramic
    resonator.

    PLL
    The internal PLL can be used to multiply the HSI RC output or HSE crystal output clock
    frequency. Refer to Figure 8 and Clock control register (RCC_CR).
    The PLL configuration (selection of HSI oscillator divided by 2 or HSE oscillator for PLL
    input clock, and multiplication factor) must be done before enabling the PLL. Once the PLL
    enabled, these parameters cannot be changed.
    An interrupt can be generated when the PLL is ready if enabled in the Clock interrupt
    register (RCC_CIR).
    If the USB interface is used in the application, the PLL must be programmed to output 48 or
    72 MHz. This is needed to provide a 48 MHz USBCLK
    براي دستيابي به فركانسهاي بالا مستقيم از كريستال يا اسيلاتورهاي ديگر استفاده نميشود. بلكه با دادن ضريب توسط مدارهاي داخلي PLL ميتوان فركانس اسيلاتور داخلي يا خارجي مثلا 8 مگ را به مقادير بالاتر تغيير داد .. در اين مدل حداكثر فركانس استاندارد و تضمين شده 72 مگا هرتز مي باشد.
    وليكن اوركلاك كردن و رسيدن به فركانسهاي بالاتر با ايجاد تمهيدات خنك كننده براي افراد ماهر دور از دسترس نيست


    LSE clock
    The LSE crystal is a 32.768 kHz Low Speed External crystal or ceramic resonator. It has the
    advantage providing a low-power but highly accurate clock source to the real-time clock
    peripheral (RTC) for clock/calendar or other timing functions.
    The LSE crystal is switched on and off using the LSEON bit in Backup domain control
    register (RCC_BDCR).

    LSI clock
    The LSI RC acts as an low-power clock source that can be kept running in Stop and
    Standby mode for the independent watchdog (IWDG) and Auto-wakeup unit (AWU). The
    clock frequency is around 40 kHz (between 30 kHz and 60 kHz). For more details, refer to
    the electrical characteristics section of the datasheets.
    The LSI RC can be switched on and off using the LSION bit in the Control/status register
    (RCC_CSR).

    System clock (SYSCLK) selection
    After a system reset, the HSI oscillator is selected as system clock. When a clock source is
    used directly or through the PLL as system clock, it is not possible to stop it.
    A switch from one clock source to another occurs only if the target clock source is ready
    (clock stable after startup delay or PLL locked). If a clock source which is not yet ready is
    selected, the switch will occur when the clock source will be ready. Status bits in the Clock
    control register (RCC_CR) indicate which clock(s) is (are) ready and which clock is currently
    used as system clock.

    Clock-out capability
    The microcontroller clock output (MCO) capability allows the clock to be output onto the
    external MCO pin. The configuration registers of the corresponding GPIO port must be
    programmed in alternate function mode. One of 4 clock signals can be selected as the MCO
    clock.
    ● SYSCLK
    ● HSI
    ● HSE
    ● PLL clock divided by 2

    Clock control register (RCC_CR)
    Address offset: 0x00
    Reset value: 0x0000 XX83 where X is undefined.
    Access: no wait state, word, half-word and byte access


    Bits 31:26 Reserved, must be kept at reset value.
    Bit 25 PLLRDY: PLL clock ready flag

    Set by hardware to indicate that the PLL is locked.
    0: PLL unlocked
    1: PLL locked

    Bit 24 PLLON: PLL enable
    Set and cleared by software to enable PLL.
    Cleared by hardware when entering Stop or Standby mode. This bit can not be reset if the
    PLL clock is used as system clock or is selected to become the system clock.
    0: PLL OFF
    1: PLL ON

    Bits 23:20 Reserved, must be kept at reset value.
    Bit 19 CSSON: Clock security system enable
    Set and cleared by software to enable the clock security system. When CSSON is set, the
    clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by
    hardware if a HSE clock failure is detected.
    0: Clock detector OFF
    1: Clock detector ON (Clock detector ON if the HSE oscillator is ready , OFF if not).

    Bit 18 HSEBYP: External high-speed clock bypass
    Set and cleared by software to bypass the oscillator with an external clock. The external
    clock must be enabled with the HSEON bit set, to be used by the device. The HSEBYP bit
    can be written only if the HSE oscillator is disabled.
    0: external 4-16 MHz oscillator not bypassed
    1: external 4-16 MHz oscillator bypassed with external clockRM0008 Low-, medium-, high- and XL-density reset and clock control (RCC)
    Doc ID 13902 Rev 14 97/1096

    Bit 17 HSERDY: External high-speed clock ready flag
    Set by hardware to indicate that the HSE oscillator is stable. This bit needs 6 cycles of the
    HSE oscillator clock to fall down after HSEON reset.
    0: HSE oscillator not ready
    1: HSE oscillator ready

    Bit 16 HSEON: HSE clock enable
    Set and cleared by software.
    Cleared by hardware to stop the HSE oscillator when entering Stop or Standby mode. This
    bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock.
    0: HSE oscillator OFF
    1: HSE oscillator ON

    Bits 15:8 HSICAL[7:0]: Internal high-speed clock calibration
    These bits are initialized automatically at startup.

    Bits 7:3 HSITRIM[4:0]: Internal high-speed clock trimming
    These bits provide an additional user-programmable trimming value that is added to the

    HSICAL[7:0] bits. It can be programmed to adjust to variations in voltage and temperature
    that influence the frequency of the internal HSI RC.
    The default value is 16, which, when added to the HSICAL value, should trim the HSI to 8
    MHz ± 1%. The trimming step (Fhsitrim) is around 40 kHz between two consecutive HSICAL
    steps.

    Bit 2 Reserved, must be kept at reset value.

    Bit 1 HSIRDY: Internal high-speed clock ready flag

    Set by hardware to indicate that internal 8 MHz RC oscillator is stable. After the HSION bit is
    cleared, HSIRDY goes low after 6 internal 8 MHz RC oscillator clock cycles.

    0: internal 8 MHz RC oscillator not ready
    1: internal 8 MHz RC oscillator ready

    Bit 0 HSION: Internal high-speed clock enable
    Set and cleared by software.
    Set by hardware to force the internal 8 MHz RC oscillator ON when leaving Stop or Standby
    mode or in case of failure of the external 4-16 MHz oscillator used directly or indirectly as
    system clock. This bit cannot be reset if the internal 8 MHz RC is used directly or indirectly
    as system clock or is selected to become the system clock.

    0: internal 8 MHz RC oscillator OFF
    1: internal 8 MHz RC oscillator ON
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: STM32F103_RCC_CR_Table.png
مشاهده: 4144
حجم: 6.8 کیلو بایت  
    ویرایش توسط alishekarriz : 03-02-2012 در ساعت 12:05

  10. کاربران : 11 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  11. #6
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    البته شناخت رجیسترهای اصلی CPU بسیار مهم هست
    در واقع اگر نیاز به انجام محاسبات به زبان اسمبلی باشد شناخت توانایی هریک از این رجیسترها بسیار مهم خواهد بود



    General-purpose registers
    R0-R12 are 32-bit general-purpose registers for data operations.

    Stack pointer
    The Stack Pointer (SP) is register R13. In Thread mode, bit[1] of the CONTROL register

    indicates the stack pointer to use:
    ● 0 = Main Stack Pointer (MSP). This is the reset value.
    ● 1 = Process Stack Pointer (PSP).

    On reset, the processor loads the MSP with the value from address 0x00000000.
    Link register
    The Link Register (LR) is register R14. It stores the return information for subroutines,
    function calls, and exceptions. On reset, the processor loads the LR value 0xFFFFFFFF.
    Program counter
    The Program Counter (PC) is register R15. It contains the current program address. Bit[0] is
    always 0 because instruction fetches must be halfword aligned. On reset, the processor
    loads the PC with the value of the reset vector, which is at address 0x00000004.
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: STM32F103_Core_RegMap-01.png
مشاهده: 4132
حجم: 12.3 کیلو بایت  
    ویرایش توسط alishekarriz : 02-02-2012 در ساعت 17:57

  12. کاربران : 5 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  13. #7
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    حالا باید یک سری دستور داشته باشیم که توسط آنها در رجیستر ها بنویسیم

    دوستان هر کسی میتونه توضیحات و شرح این دستورات رو بگه ... لطفا یک برنامه بنویسید که فرکانس داخلی 8 مگ را انتخاب و تنظیم نماید. (با دستور اسمبلی البته ) لطفا یافتن عدد هگز تنظیمی و جزئیات ست کردن بیتها را توضیح بفرمایید...



    ADR
    Load PC-relative address.
    Syntax

    ADR{cond} Rd, label
    where:
    ● ‘cond’ is an optional condition code (see Conditional execution on page 58)
    ● ‘Rd’ is the destination register
    ● ‘label’ is a PC-relative expression (see PC-relative expressions on page 57)
    Operation
    ADR determines the address by adding an immediate value to the PC. It writes the result to
    the destination register.
    ADR produces position-independent code, because the address is PC-relative.
    If you use ADR to generate a target address for a BX or BLX instruction, you must ensure
    that bit[0] of the address you generate is set to1 for correct execution.
    Values of label must be within the range -4095 to 4095 from the address in the PC
    Examples
    ADR R1, TextMessage; write address value of a location labelled as
    ; TextMessage to R1

    LDR and STR, immediate offset
    Load and store with immediate offset, pre-indexed immediate offset, or post-indexed
    immediate offset.
    Syntax
    op{type}{cond} Rt, [Rn {, #offset}]; immediate offset
    op{type}{cond} Rt, [Rn, #offset]!; pre-indexed
    op{type}{cond} Rt, [Rn], #offset; post-indexed
    opD{cond} Rt, Rt2, [Rn {, #offset}]; immediate offset, two words
    opD{cond} Rt, Rt2, [Rn, #offset]!; pre-indexed, two words
    opD{cond} Rt, Rt2, [Rn], #offset; post-indexed, two words


    Examples
    LDRR8, [R10]; loads R8 from the address in R10.
    LDRNER2, [R5, #960]!; loads (conditionally) R2 from a word
    ; 960 bytes above the address in R5, and
    ; increments R5 by 960.
    STRR2, [R9,#const-struc]; const-struc is an expression evaluating
    ; to a constant in the range 0-4095.
    STRHR3, [R4], #4; Store R3 as halfword data into address in
    ; R4, then increment R4 by 4
    LDRD R8, R9, [R3, #0x20]; Load R8 from a word 32 bytes above the
    ; address in R3, and load R9 from a word 36
    ; bytes above the address in R3
    STRDR0, R1, [R8], #-16; Store R0 to address in R8, and store R1 to
    ; a word 4 bytes above the address in R8,
    ; and then decrement R8 by 16.
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: STM32F103_Memory-Access-instructions.png
مشاهده: 4159
حجم: 24.8 کیلو بایت  
    ویرایش توسط alishekarriz : 02-02-2012 در ساعت 18:53

  14. کاربران : 6 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  15. #8
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    در آرم كلاك هر قسمت به طور مجزا قابل تنظيم هست ..

    براي تنظيم سرعت پايه هاي خروجي - ضرب كننده - مبدل و بعضي موارد ديگر از رجيستر زير استفاده ميشود.




    Bits 26:24 MCO[3:0]: Microcontroller clock output
    فركانس كاري پايه هاي خروجي
    Set and cleared by software.
    00xx: No clock
    0100: System clock (SYSCLK) selected
    0101: HSI clock selected
    0110: HSE clock selected
    0111: PLL clock divided by 2 selected
    1000: PLL2 clock selected
    1001: PLL3 clock divided by 2 selected
    1010: XT1 external 3-25 MHz oscillator clock selected (for Ethernet)
    1011: PLL3 clock selected (for Ethernet)
    Note: This clock output may have some truncated cycles at startup or during MCO clock source
    switching.
    The selected clock to output onto the MCO pin must not exceed 50 MHz (the maximum I/O
    speed).
    طبق مطلب بالا حداكثر فركانس كاري پايه ها 50 مگاهرتز مي باشد


    Bit 22 OTGFSPRE: USB OTG FS prescaler
    براي انتخاب كلاك USB

    Set and cleared by software to generate the 48 MHz USB OTG FS clock. This bit must be valid
    before enabling the OTG FS clock in the RCC_APB1ENR register. This bit can not be cleared if the
    OTG FS clock is enabled.
    0: PLL VCO (2 × PLLCLK) clock is divided by 3 (PLL must be configured to output 72 MHz)
    1: PLL VCO (2 × PLLCLK) clock is divided by 2 (PLL must be configured to output 48 MHz)
    Bits 21:18 PLLMUL[3:0]: PLL multiplication factor
    These bits are written by software to define the PLL multiplication factor. They can be written only
    when PLL is disabled.
    000x: Reserved
    0010: PLL input clock x 4
    0011: PLL input clock x 5
    0100: PLL input clock x 6
    0101: PLL input clock x 7
    0110: PLL input clock x 8
    0111: PLL input clock x 9
    10xx: Reserved
    1100: Reserved
    1101: PLL input clock x 6.5
    111x: Reserved
    Caution: The PLL output frequency must not exceed 72 MHz.
    Bit 17 PLLXTPRE: LSB of division factor PREDIV1
    Set and cleared by software to select the least significant bit of the PREDIV1 division factor. It is the
    same bit as bit(0) in the RCC_CFGR2 register, so modifying bit(0) in the RCC_CFGR2 register
    changes this bit accordingly.
    If bits[3:1] in register RCC_CFGR2 are not set, this bit controls if PREDIV1 divides its input clock by
    2 (PLLXTPRE=1) or not (PLLXTPRE=0).
    This bit can be written only when PLL is disabled.
    Bit 16 PLLSRC: PLL entry clock source
    Set and cleared by software to select PLL clock source. This bit can be written only when PLL is
    disabled.
    0: HSI oscillator clock / 2 selected as PLL input clock
    1: Clock from PREDIV1 selected as PLL input clock
    Note: When changing the main PLL’s entry clock source, the original clock source must be switched
    off only after the selection of the new clock source

    Bits 14:14 ADCPRE[1:0]: ADC prescaler
    تقسيم كننده فركانس مبدل - كه براي ايجاد دقت و تبديل صحيح بسيار لازم هست
    Set and cleared by software to select the frequency of the clock to the ADCs.
    00: PCLK2 divided by 2
    01: PCLK2 divided by 4
    10: PCLK2 divided by 6
    11: PCLK2 divided by 8
    Bits 13:11 PPRE2[2:0]: APB high-speed prescaler (APB2)
    Set and cleared by software to control the division factor of the APB High speed clock (PCLK2).
    0xx: HCLK not divided
    100: HCLK divided by 2
    101: HCLK divided by 4
    110: HCLK divided by 8
    111: HCLK divided by 16
    Bits 10:8 PPRE1[2:0]: APB Low-speed prescaler (APB1)
    Set and cleared by software to control the division factor of the APB Low speed clock (PCLK1).
    0xx: HCLK not divided
    100: HCLK divided by 2
    101: HCLK divided by 4
    110: HCLK divided by 8
    111: HCLK divided by 16
    Caution: Software must configure these bits ensure that the frequency in this domain does not
    exceed 36 MHz.
    Bits 7:4 HPRE[3:0]: AHB prescaler
    Set and cleared by software to control AHB clock division factor.
    0xxx: SYSCLK not divided
    1000: SYSCLK divided by 2
    1001: SYSCLK divided by 4
    1010: SYSCLK divided by 8
    1011: SYSCLK divided by 16
    1100: SYSCLK divided by 64
    1101: SYSCLK divided by 128
    1110: SYSCLK divided by 256
    1111: SYSCLK divided by 512
    Note: The prefetch buffer must be kept on when using a prescaler different from 1 on the AHB clock.
    Refer to the section Reading the Flash memory on page 58 for more details.
    Caution: The AHB clock frequency must be at least 25 MHz when the Ethernet is used.

    Bits 3:2 SWS[1:0]: System clock switch status
    براي مشاهده و فهميدن منبع مورداستفاده جهت كلاك سيستم
    Set and cleared by hardware to indicate which clock source is used as system clock.
    00: HSI oscillator used as system clock
    01: HSE oscillator used as system clock
    10: PLL used as system clock
    11: Not applicable

    Bits 1:0 SW[1:0]: System clock Switch
    براي انتخاب منبع كلاك سيستم مي باشد
    Set and cleared by software to select SYSCLK source.
    Set by hardware to force HSI selection when leaving Stop and Standby mode or in case of failure of
    the HSE oscillator used directly or indirectly as system clock (if the Clock Security System is
    enabled).
    00: HSI selected as system clock
    01: HSE selected as system clock
    10: PLL selected as system clock
    11: Not allowed
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: STM32F103_RegMap-RCC_Config.png
مشاهده: 4015
حجم: 4.4 کیلو بایت  
    ویرایش توسط alishekarriz : 03-02-2012 در ساعت 17:13

  16. کاربران : 8 تشکر کرده اند از شما alishekarriz برای ارسال این پست سودمند:


  17. #9
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    اگر دوستان سختشونه از صفر بنويسند

    يك برنامه ساده از ميكروهاي ديگه را بياوريم و خط به خط معادل سازي كنيم ؟

  18. #10
    کاربر فعال pooriya آواتار ها
    تاریخ عضویت
    Nov 2008
    نام
    پوریا علیزاده
    نوشته ها
    316
    تشکر
    163
    تشکر شده 676 بار در 217 پست

    پیش فرض

    سلام
    علی اقا واقعیتش بدون وجود سخت افزار مناسب و بدون تست برنامه های نوشته شده استارت کار چندان درستی نیست.
    چون بدون وجود سخت افزار قرار دادن کد کار راحتی هست و می شه انواع نمونه کد گذاشت.ولی نمیشه درک درستی از برنامه داشت.
    بنده هم چون iar کار می کنم،و برنامه های موجود در اینترنت با keil هستش(اغلب) واسه همین نمی تونم اطمینان کنم.

  19. کاربران : 2 تشکر کرده اند از شما pooriya برای ارسال این پست سودمند:


  20. #11
    مدیر انجمن M.ABDOLLAHI آواتار ها
    تاریخ عضویت
    Dec 2008
    نام
    مهدی عبدالهی
    نوشته ها
    976
    تشکر
    1,567
    تشکر شده 2,677 بار در 667 پست

    پیش فرض

    نه برای IAR هم برنامه هست انصافا زیاده در سایتهای
    301 Moved Permanently
    http://www.stm32circle.com
    و خود سایته شرکته ST
    و هر كس از ياد [خداى‏] رحمان دل بگرداند، بر او شيطانى مى‏گماريم تا براى وى دمسازى باشد. (36)و مسلّماً آنها ايشان را از راه باز مى‏دارند و [آنها] مى‏پندارند كه راه يافتگانند. (37)تا آن گاه كه او [با دمسازش‏] به حضور ما آيد، [خطاب به شيطان‏] گويد: «اى كاش ميان من و تو، فاصله خاور و باختر بود، كه چه بد دمسازى هستى!» (38)(سوره زخرف)بگو: «پليد و پاك يكسان نيستند، هر چند كثرت پليد [ها] تو را به شگفت آوَرَد. پس اى خردمندان، از خدا پروا كنيد، باشد كه رستگار شويد.» (100)(سوره مائده(

  21. کاربران : 5 تشکر کرده اند از شما M.ABDOLLAHI برای ارسال این پست سودمند:


  22. #12
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    خب ، من خوشبختانه قسمت GPIO رو کاملا تونستم راه بندازم و کاملا هم با شبیه ساز کیل کار می کنه . اول یکم تئوری میگم بعد میریم سر مثال ..

    لیست رجیسترهای GPIO :

    1. GPIOx_CRL
    2. GPIOx_CRH
    3. GPIOx_IDR
    4.GPIOx_ODR
    5.GPIOx_BSRR
    6.GPIOx_BRR
    7.GPIOx_LCKR

    اول بگم که توی GPIOx ، اینجا x همون اسم پورت هست مثل B یا C .
    در نام بردن رجیستر ها شماره اونها رو به ترتیب بالا می گم.
    مانند تمامی میکروکنترلرها ، چون پین های میکرو وظایف مختلفی انجام میدن پس باید حالت یا مد اون پایه رو اول مشخص کرد . مثلا ممکنه یک پین میکرو 5 کار انجام بده ( io-timer-pwm-analoge-osc) بنابراین باید هر پین در هر لحظه تنها به یک مد کار کنه ..
    برای کانفیگ یاپیکر بندی هر پورت باید از رجیستر 1 و 2 استفاده کرد . 1 برای بخش پایین پورت یا پین 0 تا 7 و 2 برای بخش بالا یا پین 8 تا 15 هر پورت .



    بنابراین با توجه به شکل برای هر پین 4 بیت تنظیمات داریم .دو بیت برای mode و دو بیت برای cnf . مطابق جدول فکر کنم راحت متوجه شید چطوریه .
    مثلا داریم پین 0 رو کانفیگ میکنیم . می خواهیم اونو input و آنالوگ تنطیم کنیم . پس با توجه به جدول mode0 رو 0 و cnf0 رو 0 میزاریم .
    مقدار پیش فرض این رجیستر برای همه پورتها 0x44444444 هست . می دونید چرا ؟؟؟؟؟؟؟
    چون معادل باینری این عدد برای هر پین میشه 0x4 === 0100 . بیت صفرم و یکم صفر یعنی input و بیت دوم 1 و سوم 0 هم یعنی (01) float یا Hiz .
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg1.GIF
مشاهده: 3217
حجم: 44.2 کیلو بایت  


  23. #13
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    خب رجیستر 1و2 پس برای کانفیگ هر پین بود . حالا رجیستر بعدی ( شماره 3) :
    GPIOx_IDR : این رجیستر 16 بیتی است و اگر پین مورد نظر ورودی تنظیم شود توسط این رجیستر می شود محتوای پورت رو مشاهدی کرد .
    مثال :
    GPIOB -> CRL = 0x88888888
    GPIOB -> CRH = 0x22222222
    i = GPIO -> IDR
    خط اول مربوط به کانفیگ 8 بیت پایین پورت B هست که هر هشت پین با عدد 8
    پیکربندی شده . یعنی عدد 1000 که دو بیت کم ارزش برای حالت ورودی و 10 دو بیت با ارزش برای حالت input with pull up/down .
    ولی در خط دوم مقدار 2 برای هر پین یعنی 0010 ، حالت output mode ,max speed 2MHz و general purpose push-pull مطابق جدول میشه .




    پس یعنی بیت 0 تا 7 پورت B ورودی و بیت 8 تا 15 خروجی است . حالا ما مقدار بیت 0 تا 7 که ورودی هست رو در صورت تغییر این پین ها می تونید در رجیستر IDR ببینید .
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg3.GIF
مشاهده: 3125
حجم: 19.3 کیلو بایت  
    ویرایش توسط sarbaz13 : 05-12-2016 در ساعت 10:49 دلیل: اشتباه در نوشتن

  24. کاربران : 19 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  25. #14
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    GPIOx_ODR :
    مثل رجیستر قبل منتها برای مقدار دهی به پورت . اینهم 16 بیتی است .
    GPIOB -> CRL = 0x88888888
    GPIOB -> CRH = 0x22222222
    GPIOB -> 0xffff0000




    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg4.GIF
مشاهده: 3102
حجم: 23.1 کیلو بایت  

  26. کاربران : 15 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  27. #15
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    اینم یه مثال عملی با فایلهای لازم برای برنامه . فقط برنامه رو باز کنید ، تو حالت دیباگ برید و run رو بزنید . توی پنجره peripheral مربوط به پورت B می تونید پورت B رو که چشمک می زنه ببینید ..
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar Sample.rar (277.7 کیلو بایت, 1557 نمايش)

  28. کاربران : 15 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  29. #16
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    GPIOx_BSRR :
    مانند رجیستر ODR برای تغییر محتوای خروجی پورت است منتها سه تفاوت داره :
    1. تنها قابل نوشتن هست
    2. طریقه ست کردن و ریست کردن هر بیت با هم فرق داره .
    3. 32 بیتی هست
    در این رجیستر بیت 0 تا 15 برای ست کردن بیتها و از بیت 16 تا 31 برای ریست کردن بیتهاست
    مثال
    GPIOB -> BSRR = 0x0000ffff
    این دستور تمام 16 بیت رو ست میکنه
    و این دستور:
    00010001000100010000000000000000 = GPIOB -> BSRR = 0x11110000
    بیتهای 16 و 20 و 24 و 28 رو ریست می کنه .


    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg5.GIF
مشاهده: 3084
حجم: 29.5 کیلو بایت  
    ویرایش توسط sigma-mx : 01-11-2012 در ساعت 01:41

  30. کاربران : 18 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  31. #17
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    GPIOx_BRR :
    رجیستر 16 بیتی که محتوای رجیستر ODR رو ریست می کنه . قابل خوندن نیست .
    مثال
    GPIOB -> BRR = 0x0000ffee


    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg6.GIF
مشاهده: 3068
حجم: 16.3 کیلو بایت  

  32. کاربران : 14 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  33. #18
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    و آخرین رجیستر بخش GPIO..
    GPIOx_LCKR :
    چنانچه یک پورت یا پین رو در ابتدا پیکربندی کردید برای اطمینان از تغییر احتمالی عمدی یا غیر عمدی پیکربندی و ایمنی ، می توانید تنظیمات پورت یا پین مورد نظر رو قفل یا لاک کنید . در صورت قفل شدن تنظیمات تا ریست بعدی میکرو این تنظیمات قابل تغییر نخواهد بود .. شما حتی می توانید تنها یک بیت از پورت رو قفل کنید . اجرای عمل قفل شامل مراحل خاصی هست که باید حتما رعایت بشه !






    ابتدا باید طبق جدول از بیت 0 تا 15 ، بیت هایی رو که می خواهیم تنظیماتش قفل بشه رو انتخاب کنیم :
    GPIOB -> LCKR = 0x0000 0001
    در اینجا بیت 0 از پورت رو انتخاب کردیم . حالا باید طبق روندی که گفته شده بیت 16 که مربوط به عملیات لاک هست رو مطابق زیر 1 و 0 کنیم :
    bit 16 =1 ---> bit 16 =0 --- > bit16 =1
    حالا با یکی دو دستور محتوای این پین رو می خونیم تا 1 ثابت بمونه . اگر تنها این مراحل رو درست انجام بدید عمل لاک انجام میشه !

    GPIOB -> CRL = 0x88888888
    GPIOB -> CRH = 0x22222222

    GPIOB -> LCKR = 0x00000001
    GPIOB -> LCKR |= 0x00010000 // set // Locking Sequence
    GPIOB->LCKR &= 0xfffeffff // reset
    // GPIOB->LCKR |= 0x00010000 // set // Locked
    i = GPIOB->LCKR // read 0
    i = GPIOB->LCKR // read 1
    حالا اگر این دستور رو بکار ببریم برای تغییر کانفیگ بیت 0 پورت کار نمی کنه !!
    در سیمولاتور هم بخوبی می تونید این رو تست کنید . اگه بیت لاک بشه با موس نمی تونید تنظیمات اون بیت رو عوض کنید !!
    !!! GPIOB -> CRL = 0x44444334 // Not work

    برنامه نمونه برای قفل بیت 0 از پورت B قرار دادم . خط به خط اجرا کنید و ببینید بعد از قفل شدن چه اتفاقی میوفته ..
    یا حق

    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg7.GIF
مشاهده: 3073
حجم: 27.7 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: reg7-2.GIF
مشاهده: 3070
حجم: 23.7 کیلو بایت  
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar Sample.rar (277.1 کیلو بایت, 371 نمايش)

  34. کاربران : 18 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  35. #19
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    خوب حالا این رجیستر ها رو سعی کنید باهاش یه برنامه ساده بنویسید و مشکلات رو بزارید اینجا .
    باهمین عملیات بیتی کلی کار میشه کرد ! مثلا با همین دستورات ساده میشه مثلا lcd هم راه انداخت .

  36. کاربران : 3 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  37. #20
    مدیر انجمن M.ABDOLLAHI آواتار ها
    تاریخ عضویت
    Dec 2008
    نام
    مهدی عبدالهی
    نوشته ها
    976
    تشکر
    1,567
    تشکر شده 2,677 بار در 667 پست

    پیش فرض

    میگم نظرتون چیه یک تاپیک درست گنیم هر کی هر نمونه برنامه ای با stm32 داره بگذاره تا بشه یک منبع خوب برای استفاده همه.
    و هر كس از ياد [خداى‏] رحمان دل بگرداند، بر او شيطانى مى‏گماريم تا براى وى دمسازى باشد. (36)و مسلّماً آنها ايشان را از راه باز مى‏دارند و [آنها] مى‏پندارند كه راه يافتگانند. (37)تا آن گاه كه او [با دمسازش‏] به حضور ما آيد، [خطاب به شيطان‏] گويد: «اى كاش ميان من و تو، فاصله خاور و باختر بود، كه چه بد دمسازى هستى!» (38)(سوره زخرف)بگو: «پليد و پاك يكسان نيستند، هر چند كثرت پليد [ها] تو را به شگفت آوَرَد. پس اى خردمندان، از خدا پروا كنيد، باشد كه رستگار شويد.» (100)(سوره مائده(

  38. کاربران : 4 تشکر کرده اند از شما M.ABDOLLAHI برای ارسال این پست سودمند:


صفحه 1 از 58 123456789101112131415161718192051 ... آخرینآخرین

موضوعات مشابه

  1. پاسخ: 515
    آخرين نوشته: 09-12-2018, 12:45
  2. پاسخ: 105
    آخرين نوشته: 02-12-2015, 17:33
  3. Stm32 رو چطوری شروع کنم دوستان ...!
    توسط sarab1 در انجمن stm32
    پاسخ: 18
    آخرين نوشته: 11-10-2013, 18:54
  4. پاسخ: 9
    آخرين نوشته: 01-08-2010, 12:53
  5. انتشار قريب‌الوقوع نخستين به‌روزرساني بزرگ ويندوز سون
    توسط arsalan681 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 08-06-2010, 12:43

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •