fix
This commit is contained in:
parent
254fc8bc5a
commit
b600aa6357
@ -1,3 +1,3 @@
|
|||||||
cd project/cmake
|
cd project/cmake
|
||||||
cmake -DCMAKE_TOOLCHAIN_FILE="toolchain-arm-none-eabi.cmake" -G "MinGW Makefiles" .\CMakeLists.txt
|
cmake -DCMAKE_TOOLCHAIN_FILE="toolchain-arm-none-eabi.cmake" -G "MinGW Makefiles" .\CMakeLists.txt
|
||||||
mingw32-make
|
mingw32-make -j16
|
@ -132,18 +132,12 @@ add_executable(${PROJECT_NAME}.elf
|
|||||||
# ${PROJECT_NAME}
|
# ${PROJECT_NAME}
|
||||||
# )
|
# )
|
||||||
|
|
||||||
# set(ELF_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.elf)
|
set(ELF_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.elf)
|
||||||
# set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
|
set(HEX_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.hex)
|
||||||
# set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
|
set(BIN_FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.bin)
|
||||||
|
|
||||||
# add_custom_command(TARGET "${PROJECT_NAME}.elf" POST_BUILD
|
add_custom_command(TARGET "${PROJECT_NAME}.elf" POST_BUILD
|
||||||
# COMMAND ${CMAKE_OBJCOPY} -Obinary ${ELF_FILE} ${BIN_FILE}
|
COMMAND ${CMAKE_OBJCOPY} -Obinary ${ELF_FILE} ${BIN_FILE}
|
||||||
# COMMAND ${CMAKE_OBJCOPY} -Oihex ${ELF_FILE} ${HEX_FILE}
|
COMMAND ${CMAKE_OBJCOPY} -Oihex ${ELF_FILE} ${HEX_FILE}
|
||||||
# COMMENT "Building ${PROJECT_NAME}.bin and ${PROJECT_NAME}.hex"
|
COMMAND ${CMAKE_SIZE} --format=berkeley ${PROJECT_NAME}.elf ${PROJECT_NAME}.hex
|
||||||
|
)
|
||||||
# COMMAND ${CMAKE_COMMAND} -E copy ${HEX_FILE} "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.hex"
|
|
||||||
# COMMAND ${CMAKE_COMMAND} -E copy ${BIN_FILE} "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.bin"
|
|
||||||
|
|
||||||
# COMMAND ${CMAKE_SIZE} --format=berkeley ${PROJECT_NAME}.elf ${PROJECT_NAME}.hex
|
|
||||||
# COMMENT "Invoking: Cross ARM GNU Print Size"
|
|
||||||
# )
|
|
||||||
|
@ -12,8 +12,9 @@ if (WIN32)
|
|||||||
set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe)
|
set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe)
|
||||||
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe)
|
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}gcc.exe)
|
||||||
set(CMAKE_AR ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}ar.exe)
|
set(CMAKE_AR ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}ar.exe)
|
||||||
set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
|
set(CMAKE_OBJCOPY ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}objcopy.exe)
|
||||||
set(CMAKE_OBJDUMP arm-none-eabi-objdump)
|
set(CMAKE_OBJDUMP ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}objdump.exe)
|
||||||
|
set(CMAKE_SIZE ${TOOLCHAIN_PATH}/bin/${TOOLCHAIN_PREFIX}size.exe)
|
||||||
|
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
|
|
||||||
|
@ -9,12 +9,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Includes ------------------------------------------------------------------*/
|
/* Includes ------------------------------------------------------------------*/
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
hall_handle_t hall_handle;
|
hall_handle_t hall_handle;
|
||||||
foc_handle_t foc_handle;
|
foc_handle_t foc_handle;
|
||||||
|
|
||||||
const char *data = "hello world";
|
const char *data = "hello world\n";
|
||||||
/* Function ------------------------------------------------------------------*/
|
/* Function ------------------------------------------------------------------*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -24,7 +26,6 @@ const char *data = "hello world";
|
|||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
board_init();
|
board_init();
|
||||||
|
|
||||||
foc_handle.pwm_period = 168 * 1000000 / 16000;
|
foc_handle.pwm_period = 168 * 1000000 / 16000;
|
||||||
|
|
||||||
// while (1)
|
// while (1)
|
||||||
@ -57,12 +58,11 @@ int main(void)
|
|||||||
// // svmpw()
|
// // svmpw()
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
HAL_UART_Transmit(&huart1, data, 1, 0xFFFF);
|
|
||||||
// hall_handle.control_elec_angle++;
|
|
||||||
// foc_handle.Valphabeta = math_rev_park(foc_handle.Vqd, hall_handle.control_elec_angle);
|
|
||||||
// svmpw(foc_handle);
|
|
||||||
// 测试PWM输出
|
// 测试PWM输出
|
||||||
// __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 42 * 1000000 / 16000);
|
// __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 42 * 1000000 / 16000);
|
||||||
|
|
||||||
|
// printf("direction is %d", hall_handle.direction);
|
||||||
|
|
||||||
led_ctrl(1);
|
led_ctrl(1);
|
||||||
HAL_Delay(500);
|
HAL_Delay(500);
|
||||||
led_ctrl(0);
|
led_ctrl(0);
|
||||||
@ -70,4 +70,20 @@ int main(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// 重定向c库函数printf到串口DEBUG_USART,重定向后可使用printf函数
|
||||||
|
int fputc(int ch, FILE *f)
|
||||||
|
{
|
||||||
|
/* 发送一个字节数据到串口DEBUG_USART */
|
||||||
|
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
|
||||||
|
return (ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// 重定向c库函数scanf到串口DEBUG_USART,重写向后可使用scanf、getchar等函数
|
||||||
|
int fgetc(FILE *f)
|
||||||
|
{
|
||||||
|
int ch;
|
||||||
|
HAL_UART_Receive(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
|
||||||
|
return (ch);
|
||||||
|
}
|
||||||
|
|
||||||
/* END OF FILE ---------------------------------------------------------------*/
|
/* END OF FILE ---------------------------------------------------------------*/
|
||||||
|
@ -42,7 +42,7 @@ void SystemClock_Config(void)
|
|||||||
RCC_OscInitStruct.PLL.PLLM = 25;
|
RCC_OscInitStruct.PLL.PLLM = 25;
|
||||||
RCC_OscInitStruct.PLL.PLLN = 336;
|
RCC_OscInitStruct.PLL.PLLN = 336;
|
||||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||||
RCC_OscInitStruct.PLL.PLLQ = 4;
|
RCC_OscInitStruct.PLL.PLLQ = 7;
|
||||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
||||||
{
|
{
|
||||||
Error_Handler();
|
Error_Handler();
|
||||||
@ -65,7 +65,7 @@ void SystemClock_Config(void)
|
|||||||
* @brief NVIC Configuration.
|
* @brief NVIC Configuration.
|
||||||
* @retval None
|
* @retval None
|
||||||
*/
|
*/
|
||||||
static void MX_NVIC_Init(void)
|
void MX_NVIC_Init(void)
|
||||||
{
|
{
|
||||||
/* ADC_IRQn interrupt configuration */
|
/* ADC_IRQn interrupt configuration */
|
||||||
// HAL_NVIC_SetPriority(ADC_IRQn, 2, 0);
|
// HAL_NVIC_SetPriority(ADC_IRQn, 2, 0);
|
||||||
@ -91,41 +91,10 @@ void FOC_Init()
|
|||||||
{
|
{
|
||||||
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); // 开启三个PWM通道输出
|
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); // 开启三个PWM通道输出
|
||||||
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
|
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);
|
||||||
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2); // 开启三个PWM通道输出
|
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);
|
||||||
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);
|
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_2);
|
||||||
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3); // 开启三个PWM通道输出
|
HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3);
|
||||||
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_3);
|
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_3);
|
||||||
|
|
||||||
// LL_TIM_OC_SetCompareCH1(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// LL_TIM_OC_SetCompareCH2(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// LL_TIM_OC_SetCompareCH3(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// LL_TIM_OC_SetCompareCH1(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 2400);
|
|
||||||
// __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 2400);
|
|
||||||
|
|
||||||
// HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_2);
|
|
||||||
// HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3);
|
|
||||||
|
|
||||||
/* wait for a new PWM period */
|
|
||||||
// LL_TIM_ClearFlag_UPDATE(TIM1);
|
|
||||||
// // while (LL_TIM_IsActiveFlag_UPDATE(TIM1) == 0)
|
|
||||||
// // {
|
|
||||||
// // }
|
|
||||||
// /* Clear Update Flag */
|
|
||||||
// LL_TIM_ClearFlag_UPDATE(TIM1);
|
|
||||||
|
|
||||||
/* Main PWM Output Enable */
|
|
||||||
// TIM1->BDTR |= LL_TIM_OSSI_ENABLE;
|
|
||||||
// LL_TIM_EnableAllOutputs(TIM1);
|
|
||||||
|
|
||||||
// /* Clear Update Flag */
|
|
||||||
// LL_TIM_ClearFlag_UPDATE(TIM1);
|
|
||||||
// /* Enable Update IRQ */
|
|
||||||
// LL_TIM_EnableIT_UPDATE(TIM1);
|
|
||||||
|
|
||||||
// LL_TIM_OC_SetCompareCH1(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// LL_TIM_OC_SetCompareCH2(TIM1, 42 * 1000000 / 16000);
|
|
||||||
// LL_TIM_OC_SetCompareCH3(TIM1, 42 * 1000000 / 16000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -138,7 +107,6 @@ void board_init(void)
|
|||||||
|
|
||||||
HAL_Init();
|
HAL_Init();
|
||||||
SystemClock_Config();
|
SystemClock_Config();
|
||||||
// SystemCoreClockUpdate();
|
|
||||||
|
|
||||||
MX_GPIO_Init();
|
MX_GPIO_Init();
|
||||||
MX_USART1_UART_Init();
|
MX_USART1_UART_Init();
|
||||||
|
@ -95,7 +95,7 @@
|
|||||||
* (when HSE is used as system clock source, directly or through the PLL).
|
* (when HSE is used as system clock source, directly or through the PLL).
|
||||||
*/
|
*/
|
||||||
#if !defined (HSE_VALUE)
|
#if !defined (HSE_VALUE)
|
||||||
#define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
|
#define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */
|
||||||
#endif /* HSE_VALUE */
|
#endif /* HSE_VALUE */
|
||||||
|
|
||||||
#if !defined (HSE_STARTUP_TIMEOUT)
|
#if !defined (HSE_STARTUP_TIMEOUT)
|
||||||
|
@ -69,14 +69,11 @@ void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
|
|||||||
*/
|
*/
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7;
|
GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
|
GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* USART1 interrupt Init */
|
|
||||||
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
|
|
||||||
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
|
||||||
/* USER CODE BEGIN USART1_MspInit 1 */
|
/* USER CODE BEGIN USART1_MspInit 1 */
|
||||||
|
|
||||||
/* USER CODE END USART1_MspInit 1 */
|
/* USER CODE END USART1_MspInit 1 */
|
||||||
|
@ -7,8 +7,6 @@
|
|||||||
*/
|
*/
|
||||||
void calc_hall_angle(hall_handle_t *handle, uint8_t new_state)
|
void calc_hall_angle(hall_handle_t *handle, uint8_t new_state)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
switch (new_state)
|
switch (new_state)
|
||||||
{
|
{
|
||||||
case HALL_STATE_5:
|
case HALL_STATE_5:
|
||||||
|
Loading…
Reference in New Issue
Block a user