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

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

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

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

    243 92.40%
صفحه 42 از 58 نخستنخست ... 232425262728293031323334353637383940414243444546474849505152535455565758 آخرینآخرین
نمایش نتایج: از 821 به 840 از 1155

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

  1. #821
    عضو جدید Omid_Refah آواتار ها
    تاریخ عضویت
    Aug 2008
    نوشته ها
    16
    تشکر
    116
    تشکر شده 7 بار در 1 پست

    پیش فرض

    بسیار ممنونم ازتون ... کمک قابل توجهی بود ...
    .
    همانگونه مشهوده ، پایه های PB6 و PB7 هم وظیفه ارتباط به I2C رو بعهده دارند و هم USART1 . در حالتی که میکرو ReSet میشود، مود کاری برای AF بر روی I2C قرار می گیرد. آیا در این وضعیت هم میتوان در مواقعی که با EEPROM کاری نداریم، مود کاری را به USART1 تغییر داد و فعالیت های پورت سریال رو پیگیری کرد ؟؟؟؟
    در ابتدا به ساکن و پس از ReSet میکرو، آیا نیازی به معرفی پایه برای تاکید بر روی کار با I2C ( در مقابل USART1 ) هست یا خیر ؟؟؟
    ویرایش توسط Omid_Refah : 27-11-2013 در ساعت 17:42

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

  3. #822
    کاربر علاقه مند avr.mohsen آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    محسن خبازی علوی
    نوشته ها
    65
    تشکر
    49
    تشکر شده 96 بار در 37 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sigma-mx نمایش پست ها
    اینم لایبرری lcd کارکتری 4 بیت ...
    الگوریتم درایو السیدی که همیشه همین بوده .. کار با gpio هم که آموزش داده شد
    با سلام خدمت اساتید عزیز یک سوال پیش پا افتاده
    1.آیا lcd را مستقیم به میکرو وصل میکنید بدون آی سی بافر.؟
    2.تغذیه lcd 5 است یا 3.3 ؟؟
    با تشکر.

  4. #823
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط avr.mohsen نمایش پست ها
    با سلام خدمت اساتید عزیز یک سوال پیش پا افتاده
    1.آیا lcd را مستقیم به میکرو وصل میکنید بدون آی سی بافر.؟
    2.تغذیه lcd 5 است یا 3.3 ؟؟
    با تشکر.
    سلام مهندس
    1- بدون آیسی بافر
    2- 5V
    _____________________________________
    _____________________________________

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


  6. #824
    کاربر علاقه مند avr.mohsen آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    محسن خبازی علوی
    نوشته ها
    65
    تشکر
    49
    تشکر شده 96 بار در 37 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام
    اينم يه مثال ساده در مورد نحوه راه اندازي و كار با پورت spi1(ميكروي stm32f103rbt6):
    سلام.
    کد:
    SPI_InitStructure.SPI_Direction =  SPI_Direction_1Line_Tx;
    SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
    خط بالا را به خط پایین تغییر دادم .برای اینکه ارتباط دو طرفه داشته باشم.
    ولی تابع SPI_I2S_SendData فقط دیتا می فرسته و تابع SPI_I2S_ReceiveData فقط میگیره.
    سوال:
    1. به جای تابع های قبلی که همزمان میفرسته و میگیره باید اول تابع SPI_I2S_SendData را صدا بزنم و بعد تابع SPI_I2S_ReceiveData را ؟؟؟ یا اینکه تابعی داره که هردو تا کار را با هم انجام دهد.
    2. پایه SS را لازم نیست خودمان صفر و یک کنیم؟؟؟
    با تشکر.
    ویرایش توسط avr.mohsen : 01-12-2013 در ساعت 14:23

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


  8. #825
    کاربر فعال lpln852 آواتار ها
    تاریخ عضویت
    Dec 2008
    نوشته ها
    344
    تشکر
    53
    تشکر شده 88 بار در 55 پست

    پیش فرض

    لطفا درباره دستورات usb و ethernet هم توضیح بدید

  9. #826
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط avr.mohsen نمایش پست ها
    سلام.
    کد:
    spi_initstructure.spi_direction =  spi_direction_1line_tx;
    spi_initstructure.spi_direction = spi_direction_2lines_fullduplex;
    خط بالا را به خط پایین تغییر دادم .برای اینکه ارتباط دو طرفه داشته باشم.
    ولی تابع spi_i2s_senddata فقط دیتا می فرسته و تابع spi_i2s_receivedata فقط میگیره.
    سوال:
    1. به جای تابع های قبلی که همزمان میفرسته و میگیره باید اول تابع spi_i2s_senddata را صدا بزنم و بعد تابع spi_i2s_receivedata را ؟؟؟ یا اینکه تابعی داره که هردو تا کار را با هم انجام دهد.
    2. پایه ss را لازم نیست خودمان صفر و یک کنیم؟؟؟
    با تشکر.
    سلام مهندس
    میخوای قطعه خاصی رو راه بندازی؟ برای ارتباط با قطعاتی که از طریق spi کنترل میشن باید از دوتا دستور دیگه هم استفاده کنی البته نحوه استفاده از دستورات هم مهمه!
    _____________________________________
    _____________________________________

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


  11. #827
    عضو جدید
    تاریخ عضویت
    Mar 2010
    نوشته ها
    5
    تشکر
    143
    تشکر شده 2 بار در 2 پست

    پیش فرض

    سلام
    من میخوام یه سری اطلاعات به صورت پایدار ذخیره کنم. خب از اونجایی که این میکرو eeprom داخلی نداره دارم اونارو تو حافظه فلش ذخیره میکنم. تا حالا تونستم داده هارو ذخیره کنم و بخونم اما یه مشکل وجود داره و اونم اینکه روی داده هایی که قبلا ذخیره کردم نمیتونم بنویسم.
    [PHP]#include "stm32f10x_flash.h"
    FLASH_ProgramHalfWord(startAddress , Data);
    Data = *(uint16_t *)(startAddress);
    [/PHP]
    با دستور اول کتابخانه فلش فراخونی کردم
    با دستور دوم یه داده ای را ذخیره و با دستور سوم همونو از فلش خوندم
    مشکل اینجاست که نمیتونم روی همون آدرس قبلی داده ای جدید بریزم .......؟
    کسی میتونه کمک کنه؟

  12. #828
    عضو جدید
    تاریخ عضویت
    Mar 2010
    نوشته ها
    5
    تشکر
    143
    تشکر شده 2 بار در 2 پست

    پیش فرض

    البته یه چیز یادم رفت بگم
    قبل از نوشتن تو حافظه و بعد از اون قفل حافظه غیر فعال و فعال کردم
    [PHP]FLASH_Unlock();
    FLASH_ProgramHalfWord(startAddress , Data);
    Data = *(uint16_t *)(startAddress);
    FLASH_Lock();
    [/PHP]

  13. #829
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس
    اگه اشتباه نكنم فكر كنم از اين توابع هم بايد استفاده كنيد:
    کد:
    FLASH_UnlockBank1();
    FLASH_LockBank1();
    _____________________________________
    _____________________________________

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

    پیش فرض

    شما ابندا باید page مربوطه رو erase کنید بعد قابل نوشتن هست و unlock کردن فلش هم ، هم برای پاک کردن و هم برای نوشتن ضروری هست .
    نکته مهم هم اینه که هر خانه فلش فقط یکبار قابلیت نوشتن داره و برای نوشتن دوباره تو همون خونه مجبورید کل page رو دوباره erase کنید . دقیق یادم نیست اندازه page چقدره فکر کنم 1KB هست .
    این خاصیت مخصوص حافظه های فلش هست و تفاوت مهمش با eeprom هست .

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


  16. #831
    کاربر علاقه مند avr.mohsen آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    محسن خبازی علوی
    نوشته ها
    65
    تشکر
    49
    تشکر شده 96 بار در 37 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام مهندس
    میخوای قطعه خاصی رو راه بندازی؟ برای ارتباط با قطعاتی که از طریق spi کنترل میشن باید از دوتا دستور دیگه هم استفاده کنی البته نحوه استفاده از دستورات هم مهمه!
    سلام مهندس بله at45db161d را میخواهم راه اندازی کنم.
    یک سوال دیگر UART4 را با وقفه کسی راه اندازی کرده یه سمپل به ما بدین ببینیم.

  17. #832
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    سلام مهندس اc این تابع استفاده کن، نوشتن تو رجیستر و خواندن از رجیستر:
    کد:
    unsigned char  SPI_Read_Write(unsigned char data) 
    {
            while((SPI1->SR & SPI_I2S_FLAG_TXE)==RESET);
            SPI1->DR = data;
            while((SPI1->SR & SPI_I2S_FLAG_RXNE)==RESET);
        
            return (unsigned char)SPI1->DR;
    }
    _____________________________________
    _____________________________________

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


  19. #833
    مدیر انجمن Aghaeifar آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    علی آقائی فر
    نوشته ها
    751
    تشکر
    552
    تشکر شده 975 بار در 440 پست

    پیش فرض

    نقل قول نوشته اصلی توسط avr.mohsen نمایش پست ها
    سلام مهندس بله at45db161d را میخواهم راه اندازی کنم.
    یک سوال دیگر UART4 را با وقفه کسی راه اندازی کرده یه سمپل به ما بدین ببینیم.
    با stm32f4 راه انداختم. برای همین می خوای؟

    کد بخش تنظیم رجیسترهاش در ادامه آورده شده.

    [PHP]void uart4_config() /* Connect to PC */
    {
    RCC->APB1ENR |= RCC_APB1ENR_UART4EN; /* USART4 -> Clock Enable */
    UART4->BRR = BRR_Mantissa(4, Serial4_BRR)<<4 | BRR_Fraction(4, Serial4_BRR); /* BRR = 9600 = 42MHz / (8 * 546.875) */
    UART4->CR1 = 1<<13 | 1<<5 | 1<<3 | 1<<2; /* UART En | RXNE interrupt En | TX En | RX En */
    NVIC_EnableIRQ(UART4_IRQn);

    GPIOA->MODER |= 2<<0 | 2<<2; /* Alternative function for PA.0 and PA.1 */
    GPIOA->OSPEEDR |= 1<<1 | 1<<3; /* 50MHz for PA.0 and PA.1 */
    GPIOA->AFR[0] |= 8 | 8<<4; /* Alternate function for PA.0 and PA.1 */
    GPIOA->PUPDR |= 1<<0 | 1<<2; /* Pull-Up */
    }[/PHP]
    ما در انتظار رویت خورشیدیم ...

    اللهم عجل لولیک الفرج

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


  21. #834
    کاربر دائمی wantedboy آواتار ها
    تاریخ عضویت
    May 2011
    نام
    علی‏ ‏محمد‏ ‏شکرالهی
    نوشته ها
    492
    تشکر
    201
    تشکر شده 629 بار در 204 پست

    پیش فرض

    سلام دوستان
    من تازه با arm شروع به کار کردم.
    داخل برنامه lcd n96 کجای برنامه پایه های کنترلی و دیتا را تنظیم می کنیم؟

  22. #835
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام

    توی فایل ili9325.h این قسمت برای پایه های کنترلی هست
    کد:
    #define LcdRS(bit)        GPIO_WriteBit(GPIOC, GPIO_Pin_8,(BitAction)bit)
    #define LcdWR(bit)        GPIO_WriteBit(GPIOA, GPIO_Pin_8,(BitAction)bit)
    #define LcdRD(bit)        GPIO_WriteBit(GPIOB, GPIO_Pin_9,(BitAction)bit)
    #define LcdCS(bit)        GPIO_WriteBit(GPIOC, GPIO_Pin_9,(BitAction)bit)
    #define LcdReset(bit)     GPIO_WriteBit(GPIOB, GPIO_Pin_8,(BitAction)bit)
    و توی ili9325.c هم این قسمت برای دیتا که اینی که من گذاشتم برای 8 بیتی هست
    کد:
    void tft_Write(uint8_t data)
    {
      GPIOC->ODR &= 0xff00;                         //    Write C0~C7 -> DB0~DB7
      GPIOC->ODR |= data&0xff;
    }
    پروژه 16 بیتی رو پیدا نکردم ولی اونم همین جوریه
    شما توی این دوتا فایل دنبال 16 تا پین دیتا و پایه های کنترل RS و RW و غیره بگرد
    *** اللّهم عجّل لولیک الفرج ***

  23. کاربران : 3 تشکر کرده اند از شما Doloop برای ارسال این پست سودمند:


  24. #836
    کاربر علاقه مند
    تاریخ عضویت
    Oct 2012
    نوشته ها
    48
    تشکر
    16
    تشکر شده 25 بار در 15 پست

    پیش فرض

    سلام
    دوستان واچ داگ stm32f103ret رو چطوری باید فعال کرد؟چطور میشه تستش کرد که کار میکنه یا نه؟

  25. #837
    کاربر دائمی wantedboy آواتار ها
    تاریخ عضویت
    May 2011
    نام
    علی‏ ‏محمد‏ ‏شکرالهی
    نوشته ها
    492
    تشکر
    201
    تشکر شده 629 بار در 204 پست

    پیش فرض

    سلام دوستان
    برنامه ای هست که بتونه از روی mmc روی lcd n96 عکس نمایش بده؟

  26. #838
    کاربر دائمی wantedboy آواتار ها
    تاریخ عضویت
    May 2011
    نام
    علی‏ ‏محمد‏ ‏شکرالهی
    نوشته ها
    492
    تشکر
    201
    تشکر شده 629 بار در 204 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Doloop نمایش پست ها
    سلام

    توی فایل ili9325.h این قسمت برای پایه های کنترلی هست
    کد:
    #define LcdRS(bit)        GPIO_WriteBit(GPIOC, GPIO_Pin_8,(BitAction)bit)
    #define LcdWR(bit)        GPIO_WriteBit(GPIOA, GPIO_Pin_8,(BitAction)bit)
    #define LcdRD(bit)        GPIO_WriteBit(GPIOB, GPIO_Pin_9,(BitAction)bit)
    #define LcdCS(bit)        GPIO_WriteBit(GPIOC, GPIO_Pin_9,(BitAction)bit)
    #define LcdReset(bit)     GPIO_WriteBit(GPIOB, GPIO_Pin_8,(BitAction)bit)
    و توی ili9325.c هم این قسمت برای دیتا که اینی که من گذاشتم برای 8 بیتی هست
    کد:
    void tft_Write(uint8_t data)
    {
      GPIOC->ODR &= 0xff00;                         //    Write C0~C7 -> DB0~DB7
      GPIOC->ODR |= data&0xff;
    }
    پروژه 16 بیتی رو پیدا نکردم ولی اونم همین جوریه
    شما توی این دوتا فایل دنبال 16 تا پین دیتا و پایه های کنترل RS و RW و غیره بگرد
    سلام
    چندتا سوال دارم.
    مگه برای مد 8 بیت از d10 تا d17 تا نباید استفاده کرد؟
    با دستور بالا باید کدوم پایه ای دیتا ال سی دی را به پورت میکرو وصلرکنم 8 بیت اول پورت c یا 8بیت دوم پورت؟
    Lcd من دو مقاومت r1 و r2 داشت که جاش خالی بود یک j4 چهارم بود که یکیش با r2 مشترک بودکه یه پایه ای را زمین میکردن با اهمتر که وست کردم مقاومت r2 مشترک را imo به هم وصل میکرد مقاومت را روی r2 لحیم کردم فقط مد 16 بیتی با imo درست میشه هر کاری کردم و مثبت هم به imo دادم نشد.
    حالا یا مشکل از پایه های معرفی شده است یا از مقاومت ها که فکر کنم به احتمال زیاد از مقاومت هاست.

  27. #839
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط wantedboy نمایش پست ها
    سلام دوستان
    برنامه ای هست که بتونه از روی mmc روی lcd n96 عکس نمایش بده؟
    سلام
    از كتابخونه chanfat واسه خوندن فايل عكس استفاده كن.
    البته قبلش عكسو به صورت فايل باينري تبديل كن كه نياز به پردازش روي عكس نداشته باشي.
    اين كارو انجام دادم. از اون چيزي كه فكر ميكني انجام دادنش ساده تره!
    _____________________________________
    _____________________________________

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


  29. #840
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    سلام

    اون فقط نام گذاریه توی سخت افزار باید درست وصل بشه ولی حق با شماست باعث منحرف شدن میشه

    با اون دستور هم پایه های c0 تا c7 میکرو کانفیگ میشن
    Lcd من دو مقاومت r1 و r2 داشت که جاش خالی بود یک j4 چهارم بود که یکیش با r2 مشترک بودکه یه پایه ای را زمین میکردن با اهمتر که وست کردم مقاومت r2 مشترک را imo به هم وصل میکرد مقاومت را روی r2 لحیم کردم فقط مد 16 بیتی با imo درست میشه هر کاری کردم و مثبت هم به imo دادم نشد.
    حالا یا مشکل از پایه های معرفی شده است یا از مقاومت ها که فکر کنم به احتمال زیاد از مقاومت هاست.
    برای این قضیه هم قبلا زیاد بحث شده یکیش فک کنم همین تایپیک زیر باشه تو پست 88 مثال برای 16 بیتی هم داره از همون پست به بعد رو هم یه مطالعه ای بکن چندتا پست بعدش در مورد همین السیدی هست
    شروع کار با برد Discovery kit for STM32 F4 series - with STM32F407 MCU - صفحه 9 - ایـــــــــران میـــــــکرو ™

    از كتابخونه chanfat واسه خوندن فايل عكس استفاده كن.
    این مورد هم آقا صادق درست میگه حتما از این کتابخونه استفاده کن
    *** اللّهم عجّل لولیک الفرج ***

صفحه 42 از 58 نخستنخست ... 232425262728293031323334353637383940414243444546474849505152535455565758 آخرینآخرین

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

  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

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

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