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

موضوع: ارسال یک بایت توسط spi و کتابخانه های hal میکرو f407

  1. #1
    کاربر فعال mohammadne آواتار ها
    تاریخ عضویت
    Dec 2013
    نام
    محمد پورخلیلی
    نوشته ها
    276
    تشکر
    43
    تشکر شده 214 بار در 132 پست

    پیش فرض ارسال یک بایت توسط spi و کتابخانه های hal میکرو f407

    سلام من میخای یه بایت داده رو از طریق رابط SPI ارسال کنم، با کتابخانه های استاندارد StdPeriph_Lib بدون مشکل کار کردم اما الان مجبورم از کتابخانه های HAL استفاده کنم و بخاطر اینکه فقط یه بافر دیتا ارسال میکنه نمیتونم بایت ارسال کنم، میکرو مورد استفاده هم F407 هست.کسی از دوستان میتونه مشکل کارم رو بهم بگه ؟؟

    دو تابع HAL_SPI_MspInit و MX_SPI2_Init برای راه اندازی هستند و تابع SPI_SEND برای ارسال دیتا.


    کد:
    void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
    {
    
      GPIO_InitTypeDef GPIO_InitStruct;
      if(hspi->Instance==SPI2)
      {
      /* USER CODE BEGIN SPI2_MspInit 0 */
    
      /* USER CODE END SPI2_MspInit 0 */
        /* Peripheral clock enable */
        __HAL_RCC_SPI2_CLK_ENABLE();
      
        /**SPI2 GPIO Configuration    
        PB13     ------> SPI2_SCK
        PB14     ------> SPI2_MISO
        PB15     ------> SPI2_MOSI 
        */
        GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;
        GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
        GPIO_InitStruct.Pull = GPIO_NOPULL;
        GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
        GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
        HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    
      /* USER CODE BEGIN SPI2_MspInit 1 */
    
      /* USER CODE END SPI2_MspInit 1 */
      }
    
    }
    
    void MX_SPI2_Init(void)
    {
    
      hspi2.Instance = SPI2;
      hspi2.Init.Mode = SPI_MODE_MASTER;
      hspi2.Init.Direction = SPI_DIRECTION_2LINES;
      hspi2.Init.DataSize = SPI_DATASIZE_8BIT;
      hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
      hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
      hspi2.Init.NSS = SPI_NSS_SOFT;
      hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
      hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
      hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
      hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
      hspi2.Init.CRCPolynomial = 10;
      HAL_SPI_Init(&hspi2);
    
    }
    
    
    uint8_t SPI_SEND(uint8_t byte){
    uint8_t *bytetx,*byterx,byterx2;
    bytetx[0]=byte;
    HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_RESET);
    
    HAL_SPI_Transmit(&hspi2, (uint8_t*)bytetx, 1, 100);
    
    HAL_GPIO_WritePin(GPIOC,GPIO_PIN_4,GPIO_PIN_SET);
    byterx2=byterx[0];
    return byterx2;
    }

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

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

  1. پاسخ: 6
    آخرين نوشته: 20-07-2016, 22:53
  2. شاهکار طراحی و خلاقیت هنری آمیخته با کیفیت و کارایی: بررسی تخصصی مادربرد asus maximus
    توسط shayans2 در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 0
    آخرين نوشته: 25-03-2016, 18:52
  3. پاسخ: 14
    آخرين نوشته: 23-04-2014, 11:52
  4. تعبیه قابلیت آپدیت برنامه میکرو توسط کاربر عادی
    توسط sjafarim در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 9
    آخرين نوشته: 03-11-2013, 22:15
  5. برنامه f103 روی f407 هم اجرا میشه؟
    توسط alamdar در انجمن stm32
    پاسخ: 1
    آخرين نوشته: 23-10-2012, 22:46

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

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