void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, STM32!");
}
// Конфигурация портов
#define RELE1_PORT GPIOA
#define RELE1_PIN GPIO_PIN_2
#define SWRED_PORT GPIOC
#define SWRED_PIN GPIO_PIN_13
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* Разрешение тактирования используемых портов GPIO */
__HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/* Конфигурирование уровня ножки выхода GPIO */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_2, GPIO_PIN_RESET);
/* Настройка ножки порта выхода GPIO: PA8 */
GPIO_InitStruct.Pin = GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
}
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 */
/* инициализируем все используемые контакты */
MX_GPIO_Init();
while (1)
{
/* USER CODE END WHILE */
if (!HAL_GPIO_ReadPin(SWRED_PORT, SWRED_PIN))
{
HAL_GPIO_TogglePin(RELE1_PORT, RELE1_PIN);
HAL_Delay(200);
}
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
}
Датчик давления
Датчик крутящего момента