Files
StepMotorCtrl/bsp/hardware_init.c
T
hm b49c9ab0c6 Initial commit: PY32MD530H28U7TR步进电机控制器项目
完整实现了以下模块:
- 系统数据总线(sys_data_bus)模块间通信
- UART/USART/LPUART驱动 + RS485半双工
- I2C驱动(AS5600角度传感器 + AT24C02 EEPROM)
- Modbus RTU从站协议
- 步进电机微步进控制(正弦/余弦换相+S曲线加减速)
- 到位开关驱动(DI_MIN/DI_MAX)
- PGA+ADC电流检测
- 系统监控任务(内存/串口/传感器/任务状态)
- LED/Key外设驱动
- 基于CMake + arm-none-eabi-gcc构建系统
2026-05-11 19:55:43 +08:00

50 lines
1.3 KiB
C

#include "hardware_init.h"
#include "py32md530.h"
#include "system_py32md530.h"
#include "config.h"
ret_code_t hardware_init(void)
{
SystemInit();
RCC->AHBENR |= RCC_AHBENR_GPIOAEN
| RCC_AHBENR_GPIOBEN
| RCC_AHBENR_GPIOCEN
| RCC_AHBENR_GPIOFEN;
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN
| RCC_APB2ENR_USART1EN
| RCC_APB2ENR_TIM1EN;
RCC->APB1ENR |= RCC_APB1ENR_UART1EN
| RCC_APB1ENR_LPUART1EN
| RCC_APB1ENR_I2C1EN
| RCC_APB1ENR_TIM3EN
| RCC_APB1ENR_TIM14EN;
RCC->AHBENR |= RCC_AHBENR_DMAEN;
return RET_OK;
}
ret_code_t hardware_deinit(void)
{
RCC->AHBENR &= ~(RCC_AHBENR_GPIOAEN
| RCC_AHBENR_GPIOBEN
| RCC_AHBENR_GPIOCEN
| RCC_AHBENR_GPIOFEN
| RCC_AHBENR_DMAEN);
RCC->APB2ENR &= ~(RCC_APB2ENR_SYSCFGEN
| RCC_APB2ENR_USART1EN
| RCC_APB2ENR_TIM1EN);
RCC->APB1ENR &= ~(RCC_APB1ENR_UART1EN
| RCC_APB1ENR_LPUART1EN
| RCC_APB1ENR_I2C1EN
| RCC_APB1ENR_TIM3EN
| RCC_APB1ENR_TIM14EN);
return RET_OK;
}