0

SPI1 を機能させるために、STM32WBB nucleo ボードを試しています。デフォルトのペリフェラルで CubeMX を使用してプロジェクトを単純に構成しました。SPI1 モード: Transmit only Master を選択しました。これは、SPI1 が適切に動作していることを確認するために、スコープで一部のデータのみを送信および検出するためです。

STM32 キューブ mx 構成

次のデフォルト ピンで SPI1 を設定しました。

SPI1_SCK = PA1

SPI1_MOSI = PA7

Nucleo データシートから、SPI1_SCK PA1 ピンが Nucleo ボードの A2 ヘッダー ピンにあることがわかりました: https://www.st.com/resource/en/user_manual/um2435-bluetooth-low-energy-and-802154 -nucleo-pack-based-on-stm32wb-series-microcontrollers-stmicroelectronics.pdf

ピン配列

私のコードでは、while ループで 1 秒ごとに送信しようとしています。


const uint8_t EEPROM_RDSR = 0b00000101;

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_SPI1_Init();

  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
      HAL_SPI_Transmit(&hspi1, (uint8_t *)&EEPROM_RDSR, 1, 100);
      HAL_Delay(1000);
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

ピン A2 (spi1 クロック ピン) をプローブしていますが、まったくトグルしません。誰かがこれをデバッグする方法を提案できますか?

4

0 に答える 0