Carrera ER01というカーボンロードを購入しました。ERはエンデュランス・レーシングの略らしいです。フレームとコンポ以外はお店への納品ごとにちょこちょこ変わるそうです。
ロードバイク初心者なので、フラットペダルで、両足がつくぐらいのセッティングです。慣らしサイクリングしましたが、さすがにサドルが低すぎました。
納車時
フレーム
コンポ Shimano 105
サドル Cinelli製
ペダル MKS CT-LITE
ライト
ライトはLezyneの前後セット品にしました。
/* USER CODE BEGIN 2 */ HAL_TIM_Base_Start_IT(&htim2); /* USER CODE END 2 */
/* USER CODE BEGIN 4 */ void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef * htim) { if (htim == &htim2) { HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); } } /* USER CODE END 4 */
/* USER CODE BEGIN 2 */ HAL_TIM_Base_Start_IT(&htim6); /* USER CODE END 2 */
/* USER CODE BEGIN 4 */ void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef * htim) { if (htim == &htim6) { HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); } } /* USER CODE END 4 */
ピン名 | 機能 |
---|---|
PB10 | SPI2_SCK |
PC1 | SPI2_MOSI |
PB12 | SPI2_CS (Software) |
PA5 | LD2(LED) |
/* USER CODE BEGIN PV */ uint8_t data[2] = { 0x55, 0xAA }; /* USER CODE END PV */
/* USER CODE BEGIN 2 */ HAL_GPIO_WritePin(SPI2_CS_GPIO_Port, SPI2_CS_Pin, GPIO_PIN_RESET); // CS線をLowに if (HAL_SPI_Transmit_IT(&hspi2, data, 2) != HAL_OK) { Error_Handler(); } // SPI通信が終わっていないのでここではCS線をHighにしない /* USER CODE END 2 */
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ // SPI通信と非同期にLチカ HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); HAL_Delay(100); } /* USER CODE END 3 */
/* USER CODE BEGIN 4 */ void HAL_SPI_TxCpltCallback(SPI_HandleTypeDef *hspi) { HAL_GPIO_WritePin(SPI2_CS_GPIO_Port, SPI2_CS_Pin, GPIO_PIN_SET); // SPI通信が完了したのでCS線をHighに HAL_GPIO_WritePin(SPI2_CS_GPIO_Port, SPI2_CS_Pin, GPIO_PIN_RESET); // 次のSPI通信のためにCS線をLowに if (HAL_SPI_Transmit_IT(&hspi2, (uint8_t*)data, 2) != HAL_OK) { Error_Handler(); } // SPI通信が終わっていのでここではCS線をHighにしない } /* USER CODE END 4 */
SPI | Pin | Function | Arduinoピン名 |
---|---|---|---|
SCK | PA5 | SPI1_SCK | D13 |
MOSI | PA7 | SPI1_MOSI | D11 |
CS | PB6 | GPIO_OUTPUT | D10 |
/* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ uint8_t data[2] = { 0x55, 0xAA }; HAL_GPIO_WritePin(SPI1_CS_GPIO_Port, SPI1_CS_Pin, GPIO_PIN_RESET); if (HAL_SPI_Transmit(&hspi1, data, 2, 100) != HAL_OK) { Error_Handler(); } HAL_GPIO_WritePin(SPI1_CS_GPIO_Port, SPI1_CS_Pin, GPIO_PIN_SET); } /* USER CODE END 3 */
/* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include <stdio.h> /* USER CODE END Includes */
/* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #endif PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xFFFF); return ch; } /* USER CODE END 0 */
/* Infinite loop */ /* USER CODE BEGIN WHILE */ const char msg[] = "COUNT:"; int cnt = 0; while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ float fv = cnt * 0.01f; printf("%s\t%d\t%f\r\n", msg, cnt, fv); cnt++; HAL_Delay(1000); } /* USER CODE END 3 */
The float formatting support is not enabled, check your MCU Settings from "Project Properties > C/C++ Build > Settings > Tool Settings", or add manually "-u _printf_float" in linker flags.