SPI1 を機能させるために、STM32WBB nucleo ボードを試しています。デフォルトのペリフェラルで CubeMX を使用してプロジェクトを単純に構成しました。SPI1 モード: Transmit only Master を選択しました。これは、SPI1 が適切に動作していることを確認するために、スコープで一部のデータのみを送信および検出するためです。
次のデフォルト ピンで 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 クロック ピン) をプローブしていますが、まったくトグルしません。誰かがこれをデバッグする方法を提案できますか?