add printf float to makefile

This commit is contained in:
2025-11-20 06:32:22 -06:00
parent e4b9acf468
commit d5cf1d4201
2 changed files with 25 additions and 14 deletions

View File

@@ -24,6 +24,7 @@ extern "C" {
/* USER CODE BEGIN Includes */
//#include <stdio.h>
} // end extern "C"
#include <cstdint>
#include <cstdio>
#include <cstring>
/* USER CODE END Includes */
@@ -37,14 +38,6 @@ extern "C" {
/* USER CODE BEGIN PD */
#define Print2UART1 int __io_putchar(int data) // prints to serial monitor
int duty;
/*
* We are going to set this value repeatedly as such:
* CCR
* DC(%) = ----------- * 100
* ARR + 1
*/
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
@@ -61,7 +54,16 @@ UART_HandleTypeDef huart1;
/* USER CODE BEGIN PV */
uint16_t rawValue;
float val;
float volts;
float duty;
/*
* We are going to set this value repeatedly as such:
* CCR
* DC(%) = ----------- * 100
* ARR + 1
*/
/* USER CODE END PV */
@@ -128,21 +130,30 @@ main(void)
rawValue = HAL_ADC_GetValue(&hadc1);
printf("ADC raw value: %hu\r\n", rawValue);
HAL_Delay(500);
val = (float)rawValue;
printf("ADC float value: %f\r\n", val);
volts = ((float)rawValue / 4096) * 3; // convert to voltage from 0 to 3.0
//HAL_Delay(500);
//volts = (float)(((float)rawValue / 4096) * 3); // convert to voltage from 0 to 3.0
volts = (val/4096)*3;
printf("Voltage: %fV\r\n", volts);
HAL_Delay(500);
//HAL_Delay(500);
duty = ((float)rawValue / 4096) * 65534;
//duty = (((float)rawValue / 4096) * 65534);
duty = (val/4096)*65534;
printf("Duty: %f\r\n", duty);
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, duty);
HAL_Delay(500);
//printf("\r\n");
HAL_Delay(1000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
printf("\x1B[2J\x1B[H"); // ANSI: clear tty
}
/* USER CODE END 3 */
}

View File

@@ -158,7 +158,7 @@ LDSCRIPT = STM32F429XX_FLASH.ld
# libraries
LIBS = -lc -lm -lnosys
LIBDIR =
LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
LDFLAGS = $(MCU) -specs=nano.specs -u _printf_float -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
# default action: build all
all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin