├── Artigo SVPWM.pdf ├── BigInverter.ioc ├── CENTROID_Fanuc_Retrofit_Manual.pdf ├── IJTS-8-2-12-16.pdf ├── Inc ├── main.h ├── nrf24.h ├── nrf24_hal.h ├── nrf24l01.h ├── stm32f1xx_hal_conf.h ├── stm32f1xx_it.h └── svpwm.h ├── InverterPCB_SCH.zip ├── MDK-ARM └── BigInverter │ ├── BigInverter.axf │ ├── BigInverter.build_log.htm │ ├── BigInverter.hex │ ├── BigInverter.htm │ ├── BigInverter.lnp │ ├── BigInverter.map │ ├── BigInverter.sct │ ├── BigInverter_BigInverter.dep │ ├── BigInverter_sct.Bak │ ├── ExtDll.iex │ ├── main.crf │ ├── main.d │ ├── main.o │ ├── nrf24.crf │ ├── nrf24.d │ ├── nrf24.o │ ├── nrf24_hal.crf │ ├── nrf24_hal.d │ ├── nrf24_hal.o │ ├── nrf24l01.crf │ ├── nrf24l01.d │ ├── nrf24l01.o │ ├── startup_stm32f103xb.d │ ├── startup_stm32f103xb.o │ ├── stm32f1xx_hal.crf │ ├── stm32f1xx_hal.d │ ├── stm32f1xx_hal.o │ ├── stm32f1xx_hal_adc.crf │ ├── stm32f1xx_hal_adc.d │ ├── stm32f1xx_hal_adc.o │ ├── stm32f1xx_hal_adc_ex.crf │ ├── stm32f1xx_hal_adc_ex.d │ ├── stm32f1xx_hal_adc_ex.o │ ├── stm32f1xx_hal_cortex.crf │ ├── stm32f1xx_hal_cortex.d │ ├── stm32f1xx_hal_cortex.o │ ├── stm32f1xx_hal_dma.crf │ ├── stm32f1xx_hal_dma.d │ ├── stm32f1xx_hal_dma.o │ ├── stm32f1xx_hal_exti.crf │ ├── stm32f1xx_hal_exti.d │ ├── stm32f1xx_hal_exti.o │ ├── stm32f1xx_hal_flash.crf │ ├── stm32f1xx_hal_flash.d │ ├── stm32f1xx_hal_flash.o │ ├── stm32f1xx_hal_flash_ex.crf │ ├── stm32f1xx_hal_flash_ex.d │ ├── stm32f1xx_hal_flash_ex.o │ ├── stm32f1xx_hal_gpio.crf │ ├── stm32f1xx_hal_gpio.d │ ├── stm32f1xx_hal_gpio.o │ ├── stm32f1xx_hal_gpio_ex.crf │ ├── stm32f1xx_hal_gpio_ex.d │ ├── stm32f1xx_hal_gpio_ex.o │ ├── stm32f1xx_hal_msp.crf │ ├── stm32f1xx_hal_msp.d │ ├── stm32f1xx_hal_msp.o │ ├── stm32f1xx_hal_pwr.crf │ ├── stm32f1xx_hal_pwr.d │ ├── stm32f1xx_hal_pwr.o │ ├── stm32f1xx_hal_rcc.crf │ ├── stm32f1xx_hal_rcc.d │ ├── stm32f1xx_hal_rcc.o │ ├── stm32f1xx_hal_rcc_ex.crf │ ├── stm32f1xx_hal_rcc_ex.d │ ├── stm32f1xx_hal_rcc_ex.o │ ├── stm32f1xx_hal_spi.crf │ ├── stm32f1xx_hal_spi.d │ ├── stm32f1xx_hal_spi.o │ ├── stm32f1xx_hal_tim.crf │ ├── stm32f1xx_hal_tim.d │ ├── stm32f1xx_hal_tim.o │ ├── stm32f1xx_hal_tim_ex.crf │ ├── stm32f1xx_hal_tim_ex.d │ ├── stm32f1xx_hal_tim_ex.o │ ├── stm32f1xx_hal_uart.crf │ ├── stm32f1xx_hal_uart.d │ ├── stm32f1xx_hal_uart.o │ ├── stm32f1xx_it.crf │ ├── stm32f1xx_it.d │ ├── stm32f1xx_it.o │ ├── system_stm32f1xx.crf │ ├── system_stm32f1xx.d │ └── system_stm32f1xx.o ├── Mansur_Diego_de_Mello_tcc.pdf ├── README.md ├── STK621-061_Sanyo.pdf ├── STM32F103 RM.pdf ├── Spwm voltage Sim.psimsch ├── Src ├── main.c ├── nrf24.c ├── nrf24_hal.c ├── nrf24l01.c ├── stm32f1xx_hal_msp.c ├── stm32f1xx_it.c ├── svpwm.c └── system_stm32f1xx.c └── fotos ├── IMG_1831.jpg ├── IMG_1909.jpg ├── IMG_1910.jpg ├── IMG_1911.jpg └── IMG_1912.jpg /Artigo SVPWM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/Artigo SVPWM.pdf -------------------------------------------------------------------------------- /BigInverter.ioc: -------------------------------------------------------------------------------- 1 | #MicroXplorer Configuration settings - do not modify 2 | ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_2 3 | ADC1.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_0 4 | ADC1.EnableInjectedConversion=DISABLE 5 | ADC1.ExternalTrigConv=ADC_EXTERNALTRIGCONV_T1_CC1 6 | ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,Mode,Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,NbrOfConversion,EnableInjectedConversion,InjNumberOfConversion,ExternalTrigConv,master 7 | ADC1.InjNumberOfConversion=3 8 | ADC1.Mode=ADC_DUALMODE_REGSIMULT_ALTERTRIG 9 | ADC1.NbrOfConversion=2 10 | ADC1.NbrOfConversionFlag=1 11 | ADC1.Rank-0\#ChannelRegularConversion=1 12 | ADC1.Rank-1\#ChannelRegularConversion=2 13 | ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 14 | ADC1.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 15 | ADC1.master=1 16 | ADC2.Channel-1\#ChannelRegularConversion=ADC_CHANNEL_1 17 | ADC2.Channel-2\#ChannelRegularConversion=ADC_CHANNEL_3 18 | ADC2.IPParameters=Rank-1\#ChannelRegularConversion,Channel-1\#ChannelRegularConversion,SamplingTime-1\#ChannelRegularConversion,NbrOfConversionFlag,Mode,Rank-2\#ChannelRegularConversion,Channel-2\#ChannelRegularConversion,SamplingTime-2\#ChannelRegularConversion,NbrOfConversion 19 | ADC2.Mode=ADC_DUALMODE_REGSIMULT_ALTERTRIG 20 | ADC2.NbrOfConversion=2 21 | ADC2.NbrOfConversionFlag=1 22 | ADC2.Rank-1\#ChannelRegularConversion=1 23 | ADC2.Rank-2\#ChannelRegularConversion=2 24 | ADC2.SamplingTime-1\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 25 | ADC2.SamplingTime-2\#ChannelRegularConversion=ADC_SAMPLETIME_1CYCLE_5 26 | Dma.ADC1.0.Direction=DMA_PERIPH_TO_MEMORY 27 | Dma.ADC1.0.Instance=DMA1_Channel1 28 | Dma.ADC1.0.MemDataAlignment=DMA_MDATAALIGN_WORD 29 | Dma.ADC1.0.MemInc=DMA_MINC_ENABLE 30 | Dma.ADC1.0.Mode=DMA_CIRCULAR 31 | Dma.ADC1.0.PeriphDataAlignment=DMA_PDATAALIGN_WORD 32 | Dma.ADC1.0.PeriphInc=DMA_PINC_DISABLE 33 | Dma.ADC1.0.Priority=DMA_PRIORITY_LOW 34 | Dma.ADC1.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority 35 | Dma.Request0=ADC1 36 | Dma.RequestsNb=1 37 | File.Version=6 38 | GPIO.groupedBy=Group By Peripherals 39 | KeepUserPlacement=false 40 | Mcu.Family=STM32F1 41 | Mcu.IP0=ADC1 42 | Mcu.IP1=ADC2 43 | Mcu.IP2=DMA 44 | Mcu.IP3=NVIC 45 | Mcu.IP4=RCC 46 | Mcu.IP5=SPI1 47 | Mcu.IP6=SYS 48 | Mcu.IP7=TIM1 49 | Mcu.IP8=TIM2 50 | Mcu.IP9=USART1 51 | Mcu.IPNb=10 52 | Mcu.Name=STM32F103C(8-B)Tx 53 | Mcu.Package=LQFP48 54 | Mcu.Pin0=PC13-TAMPER-RTC 55 | Mcu.Pin1=PC14-OSC32_IN 56 | Mcu.Pin10=PA6 57 | Mcu.Pin11=PA7 58 | Mcu.Pin12=PB0 59 | Mcu.Pin13=PB1 60 | Mcu.Pin14=PB11 61 | Mcu.Pin15=PB12 62 | Mcu.Pin16=PB13 63 | Mcu.Pin17=PB14 64 | Mcu.Pin18=PB15 65 | Mcu.Pin19=PA8 66 | Mcu.Pin2=PD0-OSC_IN 67 | Mcu.Pin20=PA9 68 | Mcu.Pin21=PA10 69 | Mcu.Pin22=PA13 70 | Mcu.Pin23=PA14 71 | Mcu.Pin24=PA15 72 | Mcu.Pin25=PB3 73 | Mcu.Pin26=PB4 74 | Mcu.Pin27=PB5 75 | Mcu.Pin28=PB6 76 | Mcu.Pin29=PB7 77 | Mcu.Pin3=PD1-OSC_OUT 78 | Mcu.Pin30=VP_SYS_VS_Systick 79 | Mcu.Pin31=VP_TIM1_VS_ClockSourceINT 80 | Mcu.Pin4=PA0-WKUP 81 | Mcu.Pin5=PA1 82 | Mcu.Pin6=PA2 83 | Mcu.Pin7=PA3 84 | Mcu.Pin8=PA4 85 | Mcu.Pin9=PA5 86 | Mcu.PinsNb=32 87 | Mcu.ThirdPartyNb=0 88 | Mcu.UserConstants= 89 | Mcu.UserName=STM32F103CBTx 90 | MxCube.Version=6.2.0 91 | MxDb.Version=DB.6.0.20 92 | NVIC.ADC1_2_IRQn=true\:1\:0\:true\:false\:true\:true\:true 93 | NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 94 | NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false 95 | NVIC.EXTI0_IRQn=true\:3\:0\:true\:false\:true\:true\:true 96 | NVIC.EXTI4_IRQn=true\:0\:0\:false\:false\:true\:true\:true 97 | NVIC.ForceEnableDMAVector=false 98 | NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 99 | NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false 100 | NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false 101 | NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false 102 | NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4 103 | NVIC.SPI1_IRQn=true\:2\:0\:true\:false\:true\:true\:true 104 | NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false 105 | NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true 106 | NVIC.TIM1_BRK_IRQn=true\:0\:0\:false\:false\:true\:true\:true 107 | NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true 108 | NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false 109 | PA0-WKUP.GPIOParameters=GPIO_Label 110 | PA0-WKUP.GPIO_Label=ADC1_VBUS 111 | PA0-WKUP.Signal=ADCx_IN0 112 | PA1.GPIOParameters=GPIO_Label 113 | PA1.GPIO_Label=ADC2_IU 114 | PA1.Signal=ADCx_IN1 115 | PA10.Signal=S_TIM1_CH3 116 | PA13.Mode=Serial_Wire 117 | PA13.Signal=SYS_JTMS-SWDIO 118 | PA14.Mode=Serial_Wire 119 | PA14.Signal=SYS_JTCK-SWCLK 120 | PA15.GPIOParameters=GPIO_PuPd 121 | PA15.GPIO_PuPd=GPIO_PULLUP 122 | PA15.Signal=S_TIM2_CH1_ETR 123 | PA2.GPIOParameters=GPIO_Label 124 | PA2.GPIO_Label=ADC1_IV 125 | PA2.Signal=ADCx_IN2 126 | PA3.GPIOParameters=GPIO_Label 127 | PA3.GPIO_Label=VFBK_2 128 | PA3.Signal=ADCx_IN3 129 | PA4.GPIOParameters=GPIO_Speed,GPIO_Label 130 | PA4.GPIO_Label=nRF24_CSN 131 | PA4.GPIO_Speed=GPIO_SPEED_FREQ_HIGH 132 | PA4.Locked=true 133 | PA4.Signal=GPIO_Output 134 | PA5.Mode=Full_Duplex_Master 135 | PA5.Signal=SPI1_SCK 136 | PA6.GPIOParameters=GPIO_PuPd 137 | PA6.GPIO_PuPd=GPIO_PULLUP 138 | PA6.Mode=Full_Duplex_Master 139 | PA6.Signal=SPI1_MISO 140 | PA7.Mode=Full_Duplex_Master 141 | PA7.Signal=SPI1_MOSI 142 | PA8.Signal=S_TIM1_CH1 143 | PA9.Signal=S_TIM1_CH2 144 | PB0.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 145 | PB0.GPIO_Label=nRF24_IRQ 146 | PB0.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING 147 | PB0.GPIO_PuPd=GPIO_PULLUP 148 | PB0.Locked=true 149 | PB0.Signal=GPXTI0 150 | PB1.GPIOParameters=GPIO_Speed,GPIO_Label 151 | PB1.GPIO_Label=nRF24_CE 152 | PB1.GPIO_Speed=GPIO_SPEED_FREQ_HIGH 153 | PB1.Locked=true 154 | PB1.Signal=GPIO_Output 155 | PB11.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP 156 | PB11.GPIO_Label=DBG 157 | PB11.GPIO_ModeDefaultOutputPP=GPIO_MODE_OUTPUT_PP 158 | PB11.GPIO_PuPd=GPIO_PULLUP 159 | PB11.Locked=true 160 | PB11.Signal=GPIO_Output 161 | PB12.Mode=Activate-Break-Input 162 | PB12.Signal=TIM1_BKIN 163 | PB13.GPIOParameters=GPIO_ModeDefaultPP 164 | PB13.GPIO_ModeDefaultPP=GPIO_MODE_AF_PP 165 | PB13.Mode=PWM Generation1 CH1 CH1N 166 | PB13.Signal=TIM1_CH1N 167 | PB14.GPIOParameters=GPIO_ModeDefaultPP 168 | PB14.GPIO_ModeDefaultPP=GPIO_MODE_AF_PP 169 | PB14.Mode=PWM Generation2 CH2 CH2N 170 | PB14.Signal=TIM1_CH2N 171 | PB15.Mode=PWM Generation3 CH3 CH3N 172 | PB15.Signal=TIM1_CH3N 173 | PB3.GPIOParameters=GPIO_PuPd 174 | PB3.GPIO_PuPd=GPIO_PULLUP 175 | PB3.Signal=S_TIM2_CH2 176 | PB4.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI 177 | PB4.GPIO_Label=Encoder_Z 178 | PB4.GPIO_ModeDefaultEXTI=GPIO_MODE_IT_FALLING 179 | PB4.GPIO_PuPd=GPIO_PULLUP 180 | PB4.Locked=true 181 | PB4.Signal=GPXTI4 182 | PB5.GPIOParameters=GPIO_Label 183 | PB5.GPIO_Label=INP_4 184 | PB5.Locked=true 185 | PB5.Signal=GPIO_Input 186 | PB6.Mode=Asynchronous 187 | PB6.Signal=USART1_TX 188 | PB7.Mode=Asynchronous 189 | PB7.Signal=USART1_RX 190 | PC13-TAMPER-RTC.GPIOParameters=GPIO_Label 191 | PC13-TAMPER-RTC.GPIO_Label=LED 192 | PC13-TAMPER-RTC.Locked=true 193 | PC13-TAMPER-RTC.Signal=GPIO_Output 194 | PC14-OSC32_IN.GPIOParameters=GPIO_Label 195 | PC14-OSC32_IN.GPIO_Label=relay2 196 | PC14-OSC32_IN.Locked=true 197 | PC14-OSC32_IN.Signal=GPIO_Output 198 | PD0-OSC_IN.Mode=HSE-External-Oscillator 199 | PD0-OSC_IN.Signal=RCC_OSC_IN 200 | PD1-OSC_OUT.Mode=HSE-External-Oscillator 201 | PD1-OSC_OUT.Signal=RCC_OSC_OUT 202 | PinOutPanel.RotationAngle=0 203 | ProjectManager.AskForMigrate=true 204 | ProjectManager.BackupPrevious=false 205 | ProjectManager.CompilerOptimize=6 206 | ProjectManager.ComputerToolchain=false 207 | ProjectManager.CoupleFile=false 208 | ProjectManager.CustomerFirmwarePackage= 209 | ProjectManager.DefaultFWLocation=true 210 | ProjectManager.DeletePrevious=true 211 | ProjectManager.DeviceId=STM32F103CBTx 212 | ProjectManager.FirmwarePackage=STM32Cube FW_F1 V1.8.3 213 | ProjectManager.FreePins=false 214 | ProjectManager.HalAssertFull=false 215 | ProjectManager.HeapSize=0x200 216 | ProjectManager.KeepUserCode=true 217 | ProjectManager.LastFirmware=true 218 | ProjectManager.LibraryCopy=0 219 | ProjectManager.MainLocation=Src 220 | ProjectManager.NoMain=false 221 | ProjectManager.PreviousToolchain= 222 | ProjectManager.ProjectBuild=false 223 | ProjectManager.ProjectFileName=BigInverter.ioc 224 | ProjectManager.ProjectName=BigInverter 225 | ProjectManager.RegisterCallBack= 226 | ProjectManager.StackSize=0x400 227 | ProjectManager.TargetToolchain=MDK-ARM V5.27 228 | ProjectManager.ToolChainLocation= 229 | ProjectManager.UnderRoot=false 230 | ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC1_Init-ADC1-false-HAL-true,5-MX_ADC2_Init-ADC2-false-HAL-true,6-MX_TIM1_Init-TIM1-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_SPI1_Init-SPI1-false-HAL-true,9-MX_USART1_UART_Init-USART1-false-HAL-true 231 | RCC.ADCFreqValue=12000000 232 | RCC.ADCPresc=RCC_ADCPCLK2_DIV6 233 | RCC.AHBFreq_Value=72000000 234 | RCC.APB1CLKDivider=RCC_HCLK_DIV2 235 | RCC.APB1Freq_Value=36000000 236 | RCC.APB1TimFreq_Value=72000000 237 | RCC.APB2Freq_Value=72000000 238 | RCC.APB2TimFreq_Value=72000000 239 | RCC.FCLKCortexFreq_Value=72000000 240 | RCC.FamilyName=M 241 | RCC.HCLKFreq_Value=72000000 242 | RCC.IPParameters=ADCFreqValue,ADCPresc,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,PLLSourceVirtual,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USBFreq_Value,VCOOutput2Freq_Value 243 | RCC.MCOFreq_Value=72000000 244 | RCC.PLLCLKFreq_Value=72000000 245 | RCC.PLLMCOFreq_Value=36000000 246 | RCC.PLLMUL=RCC_PLL_MUL9 247 | RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE 248 | RCC.SYSCLKFreq_VALUE=72000000 249 | RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK 250 | RCC.TimSysFreq_Value=72000000 251 | RCC.USBFreq_Value=72000000 252 | RCC.VCOOutput2Freq_Value=8000000 253 | SH.ADCx_IN0.0=ADC1_IN0,IN0 254 | SH.ADCx_IN0.ConfNb=1 255 | SH.ADCx_IN1.0=ADC2_IN1,IN1 256 | SH.ADCx_IN1.ConfNb=1 257 | SH.ADCx_IN2.0=ADC1_IN2,IN2 258 | SH.ADCx_IN2.ConfNb=1 259 | SH.ADCx_IN3.0=ADC2_IN3,IN3 260 | SH.ADCx_IN3.ConfNb=1 261 | SH.GPXTI0.0=GPIO_EXTI0 262 | SH.GPXTI0.ConfNb=1 263 | SH.GPXTI4.0=GPIO_EXTI4 264 | SH.GPXTI4.ConfNb=1 265 | SH.S_TIM1_CH1.0=TIM1_CH1,PWM Generation1 CH1 CH1N 266 | SH.S_TIM1_CH1.ConfNb=1 267 | SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2 CH2N 268 | SH.S_TIM1_CH2.ConfNb=1 269 | SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3 CH3N 270 | SH.S_TIM1_CH3.ConfNb=1 271 | SH.S_TIM2_CH1_ETR.0=TIM2_CH1,Encoder_Interface 272 | SH.S_TIM2_CH1_ETR.ConfNb=1 273 | SH.S_TIM2_CH2.0=TIM2_CH2,Encoder_Interface 274 | SH.S_TIM2_CH2.ConfNb=1 275 | SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16 276 | SPI1.CRCCalculation=SPI_CRCCALCULATION_DISABLE 277 | SPI1.CalculateBaudRate=4.5 MBits/s 278 | SPI1.DataSize=SPI_DATASIZE_8BIT 279 | SPI1.Direction=SPI_DIRECTION_2LINES 280 | SPI1.IPParameters=VirtualType,Mode,Direction,BaudRatePrescaler,CalculateBaudRate,DataSize,CRCCalculation 281 | SPI1.Mode=SPI_MODE_MASTER 282 | SPI1.VirtualType=VM_MASTER 283 | TIM1.AutomaticOutput=TIM_AUTOMATICOUTPUT_DISABLE 284 | TIM1.BreakPolarity=TIM_BREAKPOLARITY_LOW 285 | TIM1.BreakState=TIM_BREAK_ENABLE 286 | TIM1.Channel-PWM\ Generation1\ CH1\ CH1N=TIM_CHANNEL_1 287 | TIM1.Channel-PWM\ Generation2\ CH2\ CH2N=TIM_CHANNEL_2 288 | TIM1.Channel-PWM\ Generation3\ CH3\ CH3N=TIM_CHANNEL_3 289 | TIM1.CounterMode=TIM_COUNTERMODE_CENTERALIGNED1 290 | TIM1.DeadTime=80 291 | TIM1.IPParameters=Channel-PWM Generation1 CH1 CH1N,Channel-PWM Generation2 CH2 CH2N,Period,Channel-PWM Generation3 CH3 CH3N,AutomaticOutput,BreakState,Pulse-PWM Generation1 CH1 CH1N,Pulse-PWM Generation2 CH2 CH2N,Pulse-PWM Generation3 CH3 CH3N,CounterMode,DeadTime,TIM_MasterOutputTrigger,OCPolarity_1,OCNPolarity_1,OCPolarity_2,OCNPolarity_2,OCPolarity_3,OCNPolarity_3,BreakPolarity 292 | TIM1.OCNPolarity_1=TIM_OCNPOLARITY_LOW 293 | TIM1.OCNPolarity_2=TIM_OCNPOLARITY_LOW 294 | TIM1.OCNPolarity_3=TIM_OCNPOLARITY_LOW 295 | TIM1.OCPolarity_1=TIM_OCPOLARITY_LOW 296 | TIM1.OCPolarity_2=TIM_OCPOLARITY_LOW 297 | TIM1.OCPolarity_3=TIM_OCPOLARITY_LOW 298 | TIM1.Period=3600 299 | TIM1.Pulse-PWM\ Generation1\ CH1\ CH1N=1800 300 | TIM1.Pulse-PWM\ Generation2\ CH2\ CH2N=1800 301 | TIM1.Pulse-PWM\ Generation3\ CH3\ CH3N=1800 302 | TIM1.TIM_MasterOutputTrigger=TIM_TRGO_OC1REF 303 | TIM2.EncoderMode=TIM_ENCODERMODE_TI12 304 | TIM2.IPParameters=EncoderMode 305 | USART1.IPParameters=VirtualMode 306 | USART1.VirtualMode=VM_ASYNC 307 | VP_SYS_VS_Systick.Mode=SysTick 308 | VP_SYS_VS_Systick.Signal=SYS_VS_Systick 309 | VP_TIM1_VS_ClockSourceINT.Mode=Internal 310 | VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT 311 | board=custom 312 | -------------------------------------------------------------------------------- /CENTROID_Fanuc_Retrofit_Manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/CENTROID_Fanuc_Retrofit_Manual.pdf -------------------------------------------------------------------------------- /IJTS-8-2-12-16.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/IJTS-8-2-12-16.pdf -------------------------------------------------------------------------------- /Inc/main.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file : main.h 5 | * @brief : Header for main.c file. 6 | * This file contains the common defines of the application. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2020 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under BSD 3-Clause license, 14 | * the "License"; You may not use this file except in compliance with the 15 | * License. You may obtain a copy of the License at: 16 | * opensource.org/licenses/BSD-3-Clause 17 | * 18 | ****************************************************************************** 19 | */ 20 | /* USER CODE END Header */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __MAIN_H 24 | #define __MAIN_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "stm32f1xx_hal.h" 32 | 33 | /* Private includes ----------------------------------------------------------*/ 34 | /* USER CODE BEGIN Includes */ 35 | 36 | /* USER CODE END Includes */ 37 | 38 | /* Exported types ------------------------------------------------------------*/ 39 | /* USER CODE BEGIN ET */ 40 | 41 | /* USER CODE END ET */ 42 | 43 | /* Exported constants --------------------------------------------------------*/ 44 | /* USER CODE BEGIN EC */ 45 | 46 | 47 | /* USER CODE END EC */ 48 | 49 | /* Exported macro ------------------------------------------------------------*/ 50 | /* USER CODE BEGIN EM */ 51 | 52 | /* USER CODE END EM */ 53 | 54 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 55 | 56 | /* Exported functions prototypes ---------------------------------------------*/ 57 | void Error_Handler(void); 58 | 59 | /* USER CODE BEGIN EFP */ 60 | void INIT_ALL(void); 61 | void PMSM_FOC(void); 62 | int MAX(int v1,int v2,int v3); 63 | int MIN(int v1,int v2,int v3); 64 | void Trip(void); 65 | //static void error(); 66 | //void example(); 67 | /* USER CODE END EFP */ 68 | 69 | /* Private defines -----------------------------------------------------------*/ 70 | #define LED_Pin GPIO_PIN_13 71 | #define LED_GPIO_Port GPIOC 72 | #define relay2_Pin GPIO_PIN_14 73 | #define relay2_GPIO_Port GPIOC 74 | #define ADC1_VBUS_Pin GPIO_PIN_0 75 | #define ADC1_VBUS_GPIO_Port GPIOA 76 | #define ADC2_IU_Pin GPIO_PIN_1 77 | #define ADC2_IU_GPIO_Port GPIOA 78 | #define ADC1_IV_Pin GPIO_PIN_2 79 | #define ADC1_IV_GPIO_Port GPIOA 80 | #define VFBK_2_Pin GPIO_PIN_3 81 | #define VFBK_2_GPIO_Port GPIOA 82 | #define nRF24_CSN_Pin GPIO_PIN_4 83 | #define nRF24_CSN_GPIO_Port GPIOA 84 | #define nRF24_IRQ_Pin GPIO_PIN_0 85 | #define nRF24_IRQ_GPIO_Port GPIOB 86 | #define nRF24_IRQ_EXTI_IRQn EXTI0_IRQn 87 | #define nRF24_CE_Pin GPIO_PIN_1 88 | #define nRF24_CE_GPIO_Port GPIOB 89 | #define DBG_Pin GPIO_PIN_11 90 | #define DBG_GPIO_Port GPIOB 91 | #define Encoder_Z_Pin GPIO_PIN_4 92 | #define Encoder_Z_GPIO_Port GPIOB 93 | #define Encoder_Z_EXTI_IRQn EXTI4_IRQn 94 | #define INP_4_Pin GPIO_PIN_5 95 | #define INP_4_GPIO_Port GPIOB 96 | /* USER CODE BEGIN Private defines */ 97 | 98 | /* USER CODE END Private defines */ 99 | 100 | #ifdef __cplusplus 101 | } 102 | #endif 103 | 104 | #endif /* __MAIN_H */ 105 | 106 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 107 | -------------------------------------------------------------------------------- /Inc/nrf24.h: -------------------------------------------------------------------------------- 1 | #ifndef __NRF24_H 2 | #define __NRF24_H 3 | 4 | 5 | // Low level functions (hardware depended) 6 | //#include "nrf24_hal.h" 7 | 8 | typedef unsigned char uint8_t; 9 | #ifndef nRF24_ADDR_REVERSE 10 | // How the TX/RX address should be transmitted to the transceiver 11 | // 0 - straight - the first byte of the address transmitted first 12 | // 1 - reverse - the last byte of the address transmitted first 13 | #define nRF24_ADDR_REVERSE 0 14 | #endif 15 | 16 | 17 | // nRF24L0 instruction definitions 18 | #define nRF24_CMD_R_REGISTER (uint8_t)0x00 // Register read 19 | #define nRF24_CMD_W_REGISTER (uint8_t)0x20 // Register write 20 | #define nRF24_CMD_R_RX_PAYLOAD (uint8_t)0x61 // Read RX payload 21 | #define nRF24_CMD_W_TX_PAYLOAD (uint8_t)0xA0 // Write TX payload 22 | #define nRF24_CMD_FLUSH_TX (uint8_t)0xE1 // Flush TX FIFO 23 | #define nRF24_CMD_FLUSH_RX (uint8_t)0xE2 // Flush RX FIFO 24 | #define nRF24_CMD_REUSE_TX_PL (uint8_t)0xE3 // Reuse TX payload 25 | #define nRF24_CMD_LOCK_UNLOCK (uint8_t)0x50 // Lock/unlock exclusive features 26 | #define nRF24_CMD_NOP (uint8_t)0xFF // No operation (used for reading status register) 27 | 28 | // nRF24L0 register definitions 29 | #define nRF24_REG_CONFIG (uint8_t)0x00 // Configuration register 30 | #define nRF24_REG_EN_AA (uint8_t)0x01 // Enable "Auto acknowledgment" 31 | #define nRF24_REG_EN_RXADDR (uint8_t)0x02 // Enable RX addresses 32 | #define nRF24_REG_SETUP_AW (uint8_t)0x03 // Setup of address widths 33 | #define nRF24_REG_SETUP_RETR (uint8_t)0x04 // Setup of automatic retransmit 34 | #define nRF24_REG_RF_CH (uint8_t)0x05 // RF channel 35 | #define nRF24_REG_RF_SETUP (uint8_t)0x06 // RF setup register 36 | #define nRF24_REG_STATUS (uint8_t)0x07 // Status register 37 | #define nRF24_REG_OBSERVE_TX (uint8_t)0x08 // Transmit observe register 38 | #define nRF24_REG_RPD (uint8_t)0x09 // Received power detector 39 | #define nRF24_REG_RX_ADDR_P0 (uint8_t)0x0A // Receive address data pipe 0 40 | #define nRF24_REG_RX_ADDR_P1 (uint8_t)0x0B // Receive address data pipe 1 41 | #define nRF24_REG_RX_ADDR_P2 (uint8_t)0x0C // Receive address data pipe 2 42 | #define nRF24_REG_RX_ADDR_P3 (uint8_t)0x0D // Receive address data pipe 3 43 | #define nRF24_REG_RX_ADDR_P4 (uint8_t)0x0E // Receive address data pipe 4 44 | #define nRF24_REG_RX_ADDR_P5 (uint8_t)0x0F // Receive address data pipe 5 45 | #define nRF24_REG_TX_ADDR (uint8_t)0x10 // Transmit address 46 | #define nRF24_REG_RX_PW_P0 (uint8_t)0x11 // Number of bytes in RX payload in data pipe 0 47 | #define nRF24_REG_RX_PW_P1 (uint8_t)0x12 // Number of bytes in RX payload in data pipe 1 48 | #define nRF24_REG_RX_PW_P2 (uint8_t)0x13 // Number of bytes in RX payload in data pipe 2 49 | #define nRF24_REG_RX_PW_P3 (uint8_t)0x14 // Number of bytes in RX payload in data pipe 3 50 | #define nRF24_REG_RX_PW_P4 (uint8_t)0x15 // Number of bytes in RX payload in data pipe 4 51 | #define nRF24_REG_RX_PW_P5 (uint8_t)0x16 // Number of bytes in RX payload in data pipe 5 52 | #define nRF24_REG_FIFO_STATUS (uint8_t)0x17 // FIFO status register 53 | #define nRF24_REG_DYNPD (uint8_t)0x1C // Enable dynamic payload length 54 | #define nRF24_REG_FEATURE (uint8_t)0x1D // Feature register 55 | 56 | // Register bits definitions 57 | #define nRF24_CONFIG_PRIM_RX (uint8_t)0x01 // PRIM_RX bit in CONFIG register 58 | #define nRF24_CONFIG_PWR_UP (uint8_t)0x02 // PWR_UP bit in CONFIG register 59 | #define nRF24_FLAG_RX_DR (uint8_t)0x40 // RX_DR bit (data ready RX FIFO interrupt) 60 | #define nRF24_FLAG_TX_DS (uint8_t)0x20 // TX_DS bit (data sent TX FIFO interrupt) 61 | #define nRF24_FLAG_MAX_RT (uint8_t)0x10 // MAX_RT bit (maximum number of TX retransmits interrupt) 62 | 63 | // Register masks definitions 64 | #define nRF24_MASK_REG_MAP (uint8_t)0x1F // Mask bits[4:0] for CMD_RREG and CMD_WREG commands 65 | #define nRF24_MASK_CRC (uint8_t)0x0C // Mask for CRC bits [3:2] in CONFIG register 66 | #define nRF24_MASK_STATUS_IRQ (uint8_t)0x70 // Mask for all IRQ bits in STATUS register 67 | #define nRF24_MASK_RF_PWR (uint8_t)0x06 // Mask RF_PWR[2:1] bits in RF_SETUP register 68 | #define nRF24_MASK_RX_P_NO (uint8_t)0x0E // Mask RX_P_NO[3:1] bits in STATUS register 69 | #define nRF24_MASK_DATARATE (uint8_t)0x28 // Mask RD_DR_[5,3] bits in RF_SETUP register 70 | #define nRF24_MASK_EN_RX (uint8_t)0x3F // Mask ERX_P[5:0] bits in EN_RXADDR register 71 | #define nRF24_MASK_RX_PW (uint8_t)0x3F // Mask [5:0] bits in RX_PW_Px register 72 | #define nRF24_MASK_RETR_ARD (uint8_t)0xF0 // Mask for ARD[7:4] bits in SETUP_RETR register 73 | #define nRF24_MASK_RETR_ARC (uint8_t)0x0F // Mask for ARC[3:0] bits in SETUP_RETR register 74 | #define nRF24_MASK_RXFIFO (uint8_t)0x03 // Mask for RX FIFO status bits [1:0] in FIFO_STATUS register 75 | #define nRF24_MASK_TXFIFO (uint8_t)0x30 // Mask for TX FIFO status bits [5:4] in FIFO_STATUS register 76 | #define nRF24_MASK_PLOS_CNT (uint8_t)0xF0 // Mask for PLOS_CNT[7:4] bits in OBSERVE_TX register 77 | #define nRF24_MASK_ARC_CNT (uint8_t)0x0F // Mask for ARC_CNT[3:0] bits in OBSERVE_TX register 78 | #define nRF24_MASK_SETUP_AW (uint8_t)0x03 // Mask for AW[1:0] bits in SETUP_AW register 79 | 80 | 81 | // Retransmit delay 82 | enum { 83 | nRF24_ARD_NONE = (uint8_t)0x00, // Dummy value for case when retransmission is not used 84 | nRF24_ARD_250us = (uint8_t)0x00, 85 | nRF24_ARD_500us = (uint8_t)0x01, 86 | nRF24_ARD_750us = (uint8_t)0x02, 87 | nRF24_ARD_1000us = (uint8_t)0x03, 88 | nRF24_ARD_1250us = (uint8_t)0x04, 89 | nRF24_ARD_1500us = (uint8_t)0x05, 90 | nRF24_ARD_1750us = (uint8_t)0x06, 91 | nRF24_ARD_2000us = (uint8_t)0x07, 92 | nRF24_ARD_2250us = (uint8_t)0x08, 93 | nRF24_ARD_2500us = (uint8_t)0x09, 94 | nRF24_ARD_2750us = (uint8_t)0x0A, 95 | nRF24_ARD_3000us = (uint8_t)0x0B, 96 | nRF24_ARD_3250us = (uint8_t)0x0C, 97 | nRF24_ARD_3500us = (uint8_t)0x0D, 98 | nRF24_ARD_3750us = (uint8_t)0x0E, 99 | nRF24_ARD_4000us = (uint8_t)0x0F 100 | }; 101 | 102 | // Data rate 103 | enum { 104 | nRF24_DR_250kbps = (uint8_t)0x20, // 250kbps data rate 105 | nRF24_DR_1Mbps = (uint8_t)0x00, // 1Mbps data rate 106 | nRF24_DR_2Mbps = (uint8_t)0x08 // 2Mbps data rate 107 | }; 108 | 109 | // RF output power in TX mode 110 | enum { 111 | nRF24_TXPWR_18dBm = (uint8_t)0x00, // -18dBm 112 | nRF24_TXPWR_12dBm = (uint8_t)0x02, // -12dBm 113 | nRF24_TXPWR_6dBm = (uint8_t)0x04, // -6dBm 114 | nRF24_TXPWR_0dBm = (uint8_t)0x06 // 0dBm 115 | }; 116 | 117 | // CRC encoding scheme 118 | enum { 119 | nRF24_CRC_off = (uint8_t)0x00, // CRC disabled 120 | nRF24_CRC_1byte = (uint8_t)0x08, // 1-byte CRC 121 | nRF24_CRC_2byte = (uint8_t)0x0c // 2-byte CRC 122 | }; 123 | 124 | // nRF24L01 power control 125 | enum { 126 | nRF24_PWR_UP = (uint8_t)0x02, // Power up 127 | nRF24_PWR_DOWN = (uint8_t)0x00 // Power down 128 | }; 129 | 130 | // Transceiver mode 131 | enum { 132 | nRF24_MODE_RX = (uint8_t)0x01, // PRX 133 | nRF24_MODE_TX = (uint8_t)0x00 // PTX 134 | }; 135 | 136 | // Enumeration of RX pipe addresses and TX address 137 | enum { 138 | nRF24_PIPE0 = (uint8_t)0x00, // pipe0 139 | nRF24_PIPE1 = (uint8_t)0x01, // pipe1 140 | nRF24_PIPE2 = (uint8_t)0x02, // pipe2 141 | nRF24_PIPE3 = (uint8_t)0x03, // pipe3 142 | nRF24_PIPE4 = (uint8_t)0x04, // pipe4 143 | nRF24_PIPE5 = (uint8_t)0x05, // pipe5 144 | nRF24_PIPETX = (uint8_t)0x06 // TX address (not a pipe in fact) 145 | }; 146 | 147 | // State of auto acknowledgment for specified pipe 148 | enum { 149 | nRF24_AA_OFF = (uint8_t)0x00, 150 | nRF24_AA_ON = (uint8_t)0x01 151 | }; 152 | 153 | // Status of the RX FIFO 154 | enum { 155 | nRF24_STATUS_RXFIFO_DATA = (uint8_t)0x00, // The RX FIFO contains data and available locations 156 | nRF24_STATUS_RXFIFO_EMPTY = (uint8_t)0x01, // The RX FIFO is empty 157 | nRF24_STATUS_RXFIFO_FULL = (uint8_t)0x02, // The RX FIFO is full 158 | nRF24_STATUS_RXFIFO_ERROR = (uint8_t)0x03 // Impossible state: RX FIFO cannot be empty and full at the same time 159 | }; 160 | 161 | // Status of the TX FIFO 162 | enum { 163 | nRF24_STATUS_TXFIFO_DATA = (uint8_t)0x00, // The TX FIFO contains data and available locations 164 | nRF24_STATUS_TXFIFO_EMPTY = (uint8_t)0x01, // The TX FIFO is empty 165 | nRF24_STATUS_TXFIFO_FULL = (uint8_t)0x02, // The TX FIFO is full 166 | nRF24_STATUS_TXFIFO_ERROR = (uint8_t)0x03 // Impossible state: TX FIFO cannot be empty and full at the same time 167 | }; 168 | 169 | // Result of RX FIFO reading 170 | typedef enum { 171 | nRF24_RX_PIPE0 = (uint8_t)0x00, // Packet received from the PIPE#0 172 | nRF24_RX_PIPE1 = (uint8_t)0x01, // Packet received from the PIPE#1 173 | nRF24_RX_PIPE2 = (uint8_t)0x02, // Packet received from the PIPE#2 174 | nRF24_RX_PIPE3 = (uint8_t)0x03, // Packet received from the PIPE#3 175 | nRF24_RX_PIPE4 = (uint8_t)0x04, // Packet received from the PIPE#4 176 | nRF24_RX_PIPE5 = (uint8_t)0x05, // Packet received from the PIPE#5 177 | nRF24_RX_EMPTY = (uint8_t)0xff // The RX FIFO is empty 178 | } nRF24_RXResult; 179 | 180 | 181 | // Function prototypes 182 | void nRF24_Init(void); 183 | uint8_t nRF24_Check(void); 184 | 185 | void nRF24_SetPowerMode(uint8_t mode); 186 | void nRF24_SetOperationalMode(uint8_t mode); 187 | void nRF24_SetRFChannel(uint8_t channel); 188 | void nRF24_SetAutoRetr(uint8_t ard, uint8_t arc); 189 | void nRF24_SetAddrWidth(uint8_t addr_width); 190 | void nRF24_SetAddr(uint8_t pipe, const uint8_t *addr); 191 | void nRF24_SetTXPower(uint8_t tx_pwr); 192 | void nRF24_SetDataRate(uint8_t data_rate); 193 | void nRF24_SetCRCScheme(uint8_t scheme); 194 | void nRF24_SetRXPipe(uint8_t pipe, uint8_t aa_state, uint8_t payload_len); 195 | void nRF24_ClosePipe(uint8_t pipe); 196 | void nRF24_EnableAA(uint8_t pipe); 197 | void nRF24_DisableAA(uint8_t pipe); 198 | 199 | uint8_t nRF24_GetAddrWidth(void); 200 | uint8_t nRF24_GetStatus(void); 201 | uint8_t nRF24_GetIRQFlags(void); 202 | uint8_t nRF24_GetStatus_RXFIFO(void); 203 | uint8_t nRF24_GetStatus_TXFIFO(void); 204 | uint8_t nRF24_GetRXSource(void); 205 | uint8_t nRF24_GetRetransmitCounters(void); 206 | 207 | void nRF24_ResetPLOS(void); 208 | void nRF24_FlushTX(void); 209 | void nRF24_FlushRX(void); 210 | void nRF24_ClearIRQFlags(void); 211 | 212 | void nRF24_WritePayload(uint8_t *pBuf, uint8_t length); 213 | nRF24_RXResult nRF24_ReadPayload(uint8_t *pBuf, uint8_t *length); 214 | 215 | #endif // __NRF24_H 216 | -------------------------------------------------------------------------------- /Inc/nrf24_hal.h: -------------------------------------------------------------------------------- 1 | #ifndef __NRF24_HAL_H 2 | #define __NRF24_HAL_H 3 | 4 | 5 | // Hardware abstraction layer for NRF24L01+ transceiver (hardware depended functions) 6 | // GPIO pins definition 7 | // GPIO pins initialization and control functions 8 | // SPI transmit functions 9 | 10 | 11 | // Peripheral libraries 12 | //#include 13 | //#include 14 | 15 | 16 | -------------------------------------------------------------------------------- /Inc/nrf24l01.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | //#if defined STM32F0 7 | //#include "stm32f0xx_hal.h" 8 | //#elif defined STM32F1 9 | #include "stm32f1xx_hal.h" 10 | //#elif defined STM32F4 11 | //#include "stm32f4xx_hal.h" 12 | //#endif 13 | 14 | /* Registers */ 15 | typedef enum { 16 | NRF_CONFIG = 0x00, 17 | NRF_EN_AA = 0x01, 18 | NRF_EN_RXADDR = 0x02, 19 | NRF_SETUP_AW = 0x03, 20 | NRF_SETUP_RETR = 0x04, 21 | NRF_RF_CH = 0x05, 22 | NRF_RF_SETUP = 0x06, 23 | NRF_STATUS = 0x07, 24 | NRF_OBSERVE_TX = 0x08, 25 | NRF_CD = 0x09, 26 | NRF_RX_ADDR_P0 = 0x0A, 27 | NRF_RX_ADDR_P1 = 0x0B, 28 | NRF_RX_ADDR_P2 = 0x0C, 29 | NRF_RX_ADDR_P3 = 0x0D, 30 | NRF_RX_ADDR_P4 = 0x0E, 31 | NRF_RX_ADDR_P5 = 0x0F, 32 | NRF_TX_ADDR = 0x10, 33 | NRF_RX_PW_P0 = 0x11, 34 | NRF_RX_PW_P1 = 0x12, 35 | NRF_RX_PW_P2 = 0x13, 36 | NRF_RX_PW_P3 = 0x14, 37 | NRF_RX_PW_P4 = 0x15, 38 | NRF_RX_PW_P5 = 0x16, 39 | NRF_FIFO_STATUS = 0x17, 40 | NRF_DYNPD = 0x1C, 41 | NRF_FEATURE = 0x1D 42 | } NRF_REGISTER; 43 | 44 | /* Commands */ 45 | typedef enum { 46 | NRF_CMD_R_REGISTER = 0x00, 47 | NRF_CMD_W_REGISTER = 0x20, 48 | NRF_CMD_R_RX_PAYLOAD = 0x61, 49 | NRF_CMD_W_TX_PAYLOAD = 0xA0, 50 | NRF_CMD_FLUSH_TX = 0xE1, 51 | NRF_CMD_FLUSH_RX = 0xE2, 52 | NRF_CMD_REUSE_TX_PL = 0xE3, 53 | NRF_CMD_ACTIVATE = 0x50, 54 | NRF_CMD_R_RX_PL_WID = 0x60, 55 | NRF_CMD_W_ACK_PAYLOAD = 0xA8, 56 | NRF_CMD_W_TX_PAYLOAD_NOACK = 0xB0, 57 | NRF_CMD_NOP = 0xFF 58 | } NRF_COMMAND; 59 | 60 | typedef enum { 61 | NRF_DATA_RATE_250KBPS = 1, 62 | NRF_DATA_RATE_1MBPS = 0, 63 | NRF_DATA_RATE_2MBPS = 2 64 | } NRF_DATA_RATE; 65 | 66 | typedef enum { 67 | NRF_TX_PWR_M18dBm = 0, 68 | NRF_TX_PWR_M12dBm = 1, 69 | NRF_TX_PWR_M6dBm = 2, 70 | NRF_TX_PWR_0dBm = 3 71 | } NRF_TX_PWR; 72 | 73 | typedef enum { 74 | NRF_ADDR_WIDTH_3 = 1, 75 | NRF_ADDR_WIDTH_4 = 2, 76 | NRF_ADDR_WIDTH_5 = 3 77 | } NRF_ADDR_WIDTH; 78 | 79 | typedef enum { NRF_CRC_WIDTH_1B = 0, NRF_CRC_WIDTH_2B = 1 } NRF_CRC_WIDTH; 80 | 81 | typedef enum { NRF_STATE_RX = 1, NRF_STATE_TX = 0 } NRF_TXRX_STATE; 82 | 83 | typedef enum { NRF_OK, NRF_ERROR, NRF_INVALID_ARGUMENT } NRF_RESULT; 84 | 85 | typedef struct { 86 | 87 | NRF_DATA_RATE data_rate; 88 | NRF_TX_PWR tx_power; 89 | NRF_CRC_WIDTH crc_width; 90 | NRF_ADDR_WIDTH addr_width; 91 | 92 | uint8_t payload_length; 93 | uint8_t retransmit_count; 94 | uint8_t retransmit_delay; 95 | uint8_t rf_channel; 96 | const uint8_t* rx_address; 97 | const uint8_t* tx_address; 98 | 99 | /* Must be sufficient size according to payload_length */ 100 | uint8_t* rx_buffer; 101 | 102 | SPI_HandleTypeDef* spi; 103 | uint32_t spi_timeout; 104 | 105 | GPIO_TypeDef* csn_port; 106 | uint16_t csn_pin; 107 | 108 | GPIO_TypeDef* ce_port; 109 | uint16_t ce_pin; 110 | 111 | GPIO_TypeDef* irq_port; 112 | uint16_t irq_pin; 113 | 114 | } nrf24l01_config; 115 | 116 | typedef struct { 117 | nrf24l01_config config; 118 | 119 | volatile uint8_t tx_busy; 120 | volatile NRF_RESULT tx_result; 121 | volatile uint8_t rx_busy; 122 | volatile NRF_TXRX_STATE state; 123 | 124 | } nrf24l01; 125 | 126 | /* Initialization routine */ 127 | NRF_RESULT nrf_init(nrf24l01* dev, nrf24l01_config* config); 128 | 129 | /* EXTI Interrupt Handler 130 | * 131 | * You must call this function on Falling edge trigger detection interrupt 132 | * handler, typically, from HAL_GPIO_EXTI_Callback */ 133 | void nrf_irq_handler(nrf24l01* dev); 134 | 135 | /* Asynchronous Data Receiving (__weak) 136 | * 137 | * Override this function to handle received data asynchronously, 138 | * default implementation is used in favor of nrf_receive_packet for blocking 139 | * data receiving */ 140 | void nrf_packet_received_callback(nrf24l01* dev, uint8_t* data); 141 | 142 | /* Blocking Data Receiving 143 | * 144 | * Blocks until the data has arrived, then returns a pointer to received data. 145 | * Please note, once nrf_packet_received_callback routine is overridden, this 146 | * one will stop working. */ 147 | const uint8_t* nrf_receive_packet(nrf24l01* dev); 148 | 149 | /* Blocking Data Sending 150 | * 151 | * If the AA is enabled (default), this method will return: 152 | * NRF_OK - the data has been acknowledged by other party 153 | * NRF_ERROR - the data has not been received (maximum retransmissions has 154 | * occurred) If the AA is disabled, returns NRF_OK once the data has been 155 | * transmitted (with no guarantee the data was actually received). */ 156 | NRF_RESULT nrf_send_packet(nrf24l01* dev, const uint8_t* data); 157 | 158 | /* Blocking Data Sending, with NO_ACK flag 159 | * 160 | * Disables the AA for this packet, thus this method always returns NRF_OK */ 161 | NRF_RESULT nrf_send_packet_noack(nrf24l01* dev, const uint8_t* data); 162 | 163 | /* Non-Blocking Data Sending */ 164 | NRF_RESULT nrf_push_packet(nrf24l01* dev, const uint8_t* data); 165 | 166 | /* LOW LEVEL STUFF (you don't have to look in here...)*/ 167 | NRF_RESULT nrf_send_command(nrf24l01* dev, NRF_COMMAND cmd, const uint8_t* tx, 168 | uint8_t* rx, uint8_t len); 169 | /* CMD */ 170 | NRF_RESULT nrf_read_register(nrf24l01* dev, uint8_t reg, uint8_t* data); 171 | NRF_RESULT nrf_write_register(nrf24l01* dev, uint8_t reg, uint8_t* data); 172 | NRF_RESULT nrf_read_rx_payload(nrf24l01* dev, uint8_t* data); 173 | NRF_RESULT nrf_write_tx_payload(nrf24l01* dev, const uint8_t* data); 174 | NRF_RESULT nrf_write_tx_payload_noack(nrf24l01* dev, const uint8_t* data); 175 | NRF_RESULT nrf_flush_rx(nrf24l01* dev); 176 | NRF_RESULT nrf_flush_tx(nrf24l01* dev); 177 | 178 | /* RF_SETUP */ 179 | NRF_RESULT nrf_set_data_rate(nrf24l01* dev, NRF_DATA_RATE rate); 180 | NRF_RESULT nrf_set_tx_power(nrf24l01* dev, NRF_TX_PWR pwr); 181 | NRF_RESULT nrf_set_ccw(nrf24l01* dev, bool activate); 182 | 183 | /* STATUS */ 184 | NRF_RESULT nrf_clear_interrupts(nrf24l01* dev); 185 | 186 | /* RF_CH */ 187 | NRF_RESULT nrf_set_rf_channel(nrf24l01* dev, uint8_t ch); 188 | 189 | /* SETUP_RETR */ 190 | NRF_RESULT nrf_set_retransmittion_count(nrf24l01* dev, uint8_t count); 191 | NRF_RESULT nrf_set_retransmittion_delay(nrf24l01* dev, uint8_t delay); 192 | 193 | /* SETUP_AW */ 194 | NRF_RESULT nrf_set_address_width(nrf24l01* dev, NRF_ADDR_WIDTH width); 195 | 196 | /* EN_RXADDR */ 197 | NRF_RESULT nrf_set_rx_pipes(nrf24l01* dev, uint8_t pipes); 198 | 199 | /* EN_AA */ 200 | NRF_RESULT nrf_enable_auto_ack(nrf24l01* dev, uint8_t pipe); 201 | // TODO disable AA? 202 | 203 | /* CONFIG */ 204 | NRF_RESULT nrf_enable_crc(nrf24l01* dev, bool activate); 205 | NRF_RESULT nrf_set_crc_width(nrf24l01* dev, NRF_CRC_WIDTH width); 206 | NRF_RESULT nrf_power_up(nrf24l01* dev, bool power_up); 207 | NRF_RESULT nrf_rx_tx_control(nrf24l01* dev, NRF_TXRX_STATE rx); 208 | NRF_RESULT nrf_enable_rx_data_ready_irq(nrf24l01* dev, bool activate); 209 | NRF_RESULT nrf_enable_tx_data_sent_irq(nrf24l01* dev, bool activate); 210 | NRF_RESULT nrf_enable_max_retransmit_irq(nrf24l01* dev, bool activate); 211 | 212 | /* RX_ADDR_P0 */ 213 | NRF_RESULT nrf_set_rx_address_p0(nrf24l01* dev, 214 | const uint8_t* address); // 5bytes of address 215 | 216 | /* RX_ADDR_P1 */ 217 | NRF_RESULT nrf_set_rx_address_p1(nrf24l01* dev, 218 | const uint8_t* address); // 5bytes of address 219 | 220 | /* TX_ADDR */ 221 | NRF_RESULT nrf_set_tx_address(nrf24l01* dev, 222 | const uint8_t* address); // 5bytes of address 223 | 224 | /* RX_PW_P0 */ 225 | NRF_RESULT nrf_set_rx_payload_width_p0(nrf24l01* dev, uint8_t width); 226 | 227 | /* RX_PW_P1 */ 228 | NRF_RESULT nrf_set_rx_payload_width_p1(nrf24l01* dev, uint8_t width); 229 | -------------------------------------------------------------------------------- /Inc/stm32f1xx_hal_conf.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file stm32f1xx_hal_conf.h 4 | * @brief HAL configuration file. 5 | ****************************************************************************** 6 | * @attention 7 | * 8 | *

© Copyright (c) 2017 STMicroelectronics. 9 | * All rights reserved.

10 | * 11 | * This software component is licensed by ST under BSD 3-Clause license, 12 | * the "License"; You may not use this file except in compliance with the 13 | * License. You may obtain a copy of the License at: 14 | * opensource.org/licenses/BSD-3-Clause 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __STM32F1xx_HAL_CONF_H 21 | #define __STM32F1xx_HAL_CONF_H 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Exported types ------------------------------------------------------------*/ 28 | /* Exported constants --------------------------------------------------------*/ 29 | 30 | /* ########################## Module Selection ############################## */ 31 | /** 32 | * @brief This is the list of modules to be used in the HAL driver 33 | */ 34 | 35 | #define HAL_MODULE_ENABLED 36 | #define HAL_ADC_MODULE_ENABLED 37 | /*#define HAL_CRYP_MODULE_ENABLED */ 38 | /*#define HAL_CAN_MODULE_ENABLED */ 39 | /*#define HAL_CAN_LEGACY_MODULE_ENABLED */ 40 | /*#define HAL_CEC_MODULE_ENABLED */ 41 | /*#define HAL_CORTEX_MODULE_ENABLED */ 42 | /*#define HAL_CRC_MODULE_ENABLED */ 43 | /*#define HAL_DAC_MODULE_ENABLED */ 44 | #define HAL_DMA_MODULE_ENABLED 45 | /*#define HAL_ETH_MODULE_ENABLED */ 46 | /*#define HAL_FLASH_MODULE_ENABLED */ 47 | #define HAL_GPIO_MODULE_ENABLED 48 | /*#define HAL_I2C_MODULE_ENABLED */ 49 | /*#define HAL_I2S_MODULE_ENABLED */ 50 | /*#define HAL_IRDA_MODULE_ENABLED */ 51 | /*#define HAL_IWDG_MODULE_ENABLED */ 52 | /*#define HAL_NOR_MODULE_ENABLED */ 53 | /*#define HAL_NAND_MODULE_ENABLED */ 54 | /*#define HAL_PCCARD_MODULE_ENABLED */ 55 | /*#define HAL_PCD_MODULE_ENABLED */ 56 | /*#define HAL_HCD_MODULE_ENABLED */ 57 | /*#define HAL_PWR_MODULE_ENABLED */ 58 | /*#define HAL_RCC_MODULE_ENABLED */ 59 | /*#define HAL_RTC_MODULE_ENABLED */ 60 | /*#define HAL_SD_MODULE_ENABLED */ 61 | /*#define HAL_MMC_MODULE_ENABLED */ 62 | /*#define HAL_SDRAM_MODULE_ENABLED */ 63 | /*#define HAL_SMARTCARD_MODULE_ENABLED */ 64 | #define HAL_SPI_MODULE_ENABLED 65 | /*#define HAL_SRAM_MODULE_ENABLED */ 66 | #define HAL_TIM_MODULE_ENABLED 67 | #define HAL_UART_MODULE_ENABLED 68 | /*#define HAL_USART_MODULE_ENABLED */ 69 | /*#define HAL_WWDG_MODULE_ENABLED */ 70 | 71 | #define HAL_CORTEX_MODULE_ENABLED 72 | #define HAL_DMA_MODULE_ENABLED 73 | #define HAL_FLASH_MODULE_ENABLED 74 | #define HAL_EXTI_MODULE_ENABLED 75 | #define HAL_GPIO_MODULE_ENABLED 76 | #define HAL_PWR_MODULE_ENABLED 77 | #define HAL_RCC_MODULE_ENABLED 78 | 79 | /* ########################## Oscillator Values adaptation ####################*/ 80 | /** 81 | * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. 82 | * This value is used by the RCC HAL module to compute the system frequency 83 | * (when HSE is used as system clock source, directly or through the PLL). 84 | */ 85 | #if !defined (HSE_VALUE) 86 | #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */ 87 | #endif /* HSE_VALUE */ 88 | 89 | #if !defined (HSE_STARTUP_TIMEOUT) 90 | #define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */ 91 | #endif /* HSE_STARTUP_TIMEOUT */ 92 | 93 | /** 94 | * @brief Internal High Speed oscillator (HSI) value. 95 | * This value is used by the RCC HAL module to compute the system frequency 96 | * (when HSI is used as system clock source, directly or through the PLL). 97 | */ 98 | #if !defined (HSI_VALUE) 99 | #define HSI_VALUE 8000000U /*!< Value of the Internal oscillator in Hz*/ 100 | #endif /* HSI_VALUE */ 101 | 102 | /** 103 | * @brief Internal Low Speed oscillator (LSI) value. 104 | */ 105 | #if !defined (LSI_VALUE) 106 | #define LSI_VALUE 40000U /*!< LSI Typical Value in Hz */ 107 | #endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz 108 | The real value may vary depending on the variations 109 | in voltage and temperature. */ 110 | 111 | /** 112 | * @brief External Low Speed oscillator (LSE) value. 113 | * This value is used by the UART, RTC HAL module to compute the system frequency 114 | */ 115 | #if !defined (LSE_VALUE) 116 | #define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/ 117 | #endif /* LSE_VALUE */ 118 | 119 | #if !defined (LSE_STARTUP_TIMEOUT) 120 | #define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */ 121 | #endif /* LSE_STARTUP_TIMEOUT */ 122 | 123 | /* Tip: To avoid modifying this file each time you need to use different HSE, 124 | === you can define the HSE value in your toolchain compiler preprocessor. */ 125 | 126 | /* ########################### System Configuration ######################### */ 127 | /** 128 | * @brief This is the HAL system configuration section 129 | */ 130 | #define VDD_VALUE 3300U /*!< Value of VDD in mv */ 131 | #define TICK_INT_PRIORITY 0U /*!< tick interrupt priority (lowest by default) */ 132 | #define USE_RTOS 0U 133 | #define PREFETCH_ENABLE 1U 134 | 135 | #define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ 136 | #define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ 137 | #define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ 138 | #define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ 139 | #define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ 140 | #define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ 141 | #define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ 142 | #define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ 143 | #define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ 144 | #define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ 145 | #define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ 146 | #define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ 147 | #define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ 148 | #define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ 149 | #define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ 150 | #define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ 151 | #define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ 152 | #define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ 153 | #define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ 154 | #define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ 155 | #define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ 156 | #define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ 157 | #define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ 158 | 159 | /* ########################## Assert Selection ############################## */ 160 | /** 161 | * @brief Uncomment the line below to expanse the "assert_param" macro in the 162 | * HAL drivers code 163 | */ 164 | /* #define USE_FULL_ASSERT 1U */ 165 | 166 | /* ################## Ethernet peripheral configuration ##################### */ 167 | 168 | /* Section 1 : Ethernet peripheral configuration */ 169 | 170 | /* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ 171 | #define MAC_ADDR0 2U 172 | #define MAC_ADDR1 0U 173 | #define MAC_ADDR2 0U 174 | #define MAC_ADDR3 0U 175 | #define MAC_ADDR4 0U 176 | #define MAC_ADDR5 0U 177 | 178 | /* Definition of the Ethernet driver buffers size and count */ 179 | #define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ 180 | #define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ 181 | #define ETH_RXBUFNB 8U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ 182 | #define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ 183 | 184 | /* Section 2: PHY configuration section */ 185 | 186 | /* DP83848_PHY_ADDRESS Address*/ 187 | #define DP83848_PHY_ADDRESS 0x01U 188 | /* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ 189 | #define PHY_RESET_DELAY 0x000000FFU 190 | /* PHY Configuration delay */ 191 | #define PHY_CONFIG_DELAY 0x00000FFFU 192 | 193 | #define PHY_READ_TO 0x0000FFFFU 194 | #define PHY_WRITE_TO 0x0000FFFFU 195 | 196 | /* Section 3: Common PHY Registers */ 197 | 198 | #define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */ 199 | #define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */ 200 | 201 | #define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */ 202 | #define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */ 203 | #define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */ 204 | #define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */ 205 | #define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */ 206 | #define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */ 207 | #define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */ 208 | #define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */ 209 | #define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */ 210 | #define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */ 211 | 212 | #define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */ 213 | #define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */ 214 | #define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */ 215 | 216 | /* Section 4: Extended PHY Registers */ 217 | #define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ 218 | 219 | #define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ 220 | #define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ 221 | 222 | /* ################## SPI peripheral configuration ########################## */ 223 | 224 | /* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver 225 | * Activated: CRC code is present inside driver 226 | * Deactivated: CRC code cleaned from driver 227 | */ 228 | 229 | #define USE_SPI_CRC 0U 230 | 231 | /* Includes ------------------------------------------------------------------*/ 232 | /** 233 | * @brief Include module's header file 234 | */ 235 | 236 | #ifdef HAL_RCC_MODULE_ENABLED 237 | #include "stm32f1xx_hal_rcc.h" 238 | #endif /* HAL_RCC_MODULE_ENABLED */ 239 | 240 | #ifdef HAL_GPIO_MODULE_ENABLED 241 | #include "stm32f1xx_hal_gpio.h" 242 | #endif /* HAL_GPIO_MODULE_ENABLED */ 243 | 244 | #ifdef HAL_EXTI_MODULE_ENABLED 245 | #include "stm32f1xx_hal_exti.h" 246 | #endif /* HAL_EXTI_MODULE_ENABLED */ 247 | 248 | #ifdef HAL_DMA_MODULE_ENABLED 249 | #include "stm32f1xx_hal_dma.h" 250 | #endif /* HAL_DMA_MODULE_ENABLED */ 251 | 252 | #ifdef HAL_ETH_MODULE_ENABLED 253 | #include "stm32f1xx_hal_eth.h" 254 | #endif /* HAL_ETH_MODULE_ENABLED */ 255 | 256 | #ifdef HAL_CAN_MODULE_ENABLED 257 | #include "stm32f1xx_hal_can.h" 258 | #endif /* HAL_CAN_MODULE_ENABLED */ 259 | 260 | #ifdef HAL_CAN_LEGACY_MODULE_ENABLED 261 | #include "Legacy/stm32f1xx_hal_can_legacy.h" 262 | #endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ 263 | 264 | #ifdef HAL_CEC_MODULE_ENABLED 265 | #include "stm32f1xx_hal_cec.h" 266 | #endif /* HAL_CEC_MODULE_ENABLED */ 267 | 268 | #ifdef HAL_CORTEX_MODULE_ENABLED 269 | #include "stm32f1xx_hal_cortex.h" 270 | #endif /* HAL_CORTEX_MODULE_ENABLED */ 271 | 272 | #ifdef HAL_ADC_MODULE_ENABLED 273 | #include "stm32f1xx_hal_adc.h" 274 | #endif /* HAL_ADC_MODULE_ENABLED */ 275 | 276 | #ifdef HAL_CRC_MODULE_ENABLED 277 | #include "stm32f1xx_hal_crc.h" 278 | #endif /* HAL_CRC_MODULE_ENABLED */ 279 | 280 | #ifdef HAL_DAC_MODULE_ENABLED 281 | #include "stm32f1xx_hal_dac.h" 282 | #endif /* HAL_DAC_MODULE_ENABLED */ 283 | 284 | #ifdef HAL_FLASH_MODULE_ENABLED 285 | #include "stm32f1xx_hal_flash.h" 286 | #endif /* HAL_FLASH_MODULE_ENABLED */ 287 | 288 | #ifdef HAL_SRAM_MODULE_ENABLED 289 | #include "stm32f1xx_hal_sram.h" 290 | #endif /* HAL_SRAM_MODULE_ENABLED */ 291 | 292 | #ifdef HAL_NOR_MODULE_ENABLED 293 | #include "stm32f1xx_hal_nor.h" 294 | #endif /* HAL_NOR_MODULE_ENABLED */ 295 | 296 | #ifdef HAL_I2C_MODULE_ENABLED 297 | #include "stm32f1xx_hal_i2c.h" 298 | #endif /* HAL_I2C_MODULE_ENABLED */ 299 | 300 | #ifdef HAL_I2S_MODULE_ENABLED 301 | #include "stm32f1xx_hal_i2s.h" 302 | #endif /* HAL_I2S_MODULE_ENABLED */ 303 | 304 | #ifdef HAL_IWDG_MODULE_ENABLED 305 | #include "stm32f1xx_hal_iwdg.h" 306 | #endif /* HAL_IWDG_MODULE_ENABLED */ 307 | 308 | #ifdef HAL_PWR_MODULE_ENABLED 309 | #include "stm32f1xx_hal_pwr.h" 310 | #endif /* HAL_PWR_MODULE_ENABLED */ 311 | 312 | #ifdef HAL_RTC_MODULE_ENABLED 313 | #include "stm32f1xx_hal_rtc.h" 314 | #endif /* HAL_RTC_MODULE_ENABLED */ 315 | 316 | #ifdef HAL_PCCARD_MODULE_ENABLED 317 | #include "stm32f1xx_hal_pccard.h" 318 | #endif /* HAL_PCCARD_MODULE_ENABLED */ 319 | 320 | #ifdef HAL_SD_MODULE_ENABLED 321 | #include "stm32f1xx_hal_sd.h" 322 | #endif /* HAL_SD_MODULE_ENABLED */ 323 | 324 | #ifdef HAL_NAND_MODULE_ENABLED 325 | #include "stm32f1xx_hal_nand.h" 326 | #endif /* HAL_NAND_MODULE_ENABLED */ 327 | 328 | #ifdef HAL_SPI_MODULE_ENABLED 329 | #include "stm32f1xx_hal_spi.h" 330 | #endif /* HAL_SPI_MODULE_ENABLED */ 331 | 332 | #ifdef HAL_TIM_MODULE_ENABLED 333 | #include "stm32f1xx_hal_tim.h" 334 | #endif /* HAL_TIM_MODULE_ENABLED */ 335 | 336 | #ifdef HAL_UART_MODULE_ENABLED 337 | #include "stm32f1xx_hal_uart.h" 338 | #endif /* HAL_UART_MODULE_ENABLED */ 339 | 340 | #ifdef HAL_USART_MODULE_ENABLED 341 | #include "stm32f1xx_hal_usart.h" 342 | #endif /* HAL_USART_MODULE_ENABLED */ 343 | 344 | #ifdef HAL_IRDA_MODULE_ENABLED 345 | #include "stm32f1xx_hal_irda.h" 346 | #endif /* HAL_IRDA_MODULE_ENABLED */ 347 | 348 | #ifdef HAL_SMARTCARD_MODULE_ENABLED 349 | #include "stm32f1xx_hal_smartcard.h" 350 | #endif /* HAL_SMARTCARD_MODULE_ENABLED */ 351 | 352 | #ifdef HAL_WWDG_MODULE_ENABLED 353 | #include "stm32f1xx_hal_wwdg.h" 354 | #endif /* HAL_WWDG_MODULE_ENABLED */ 355 | 356 | #ifdef HAL_PCD_MODULE_ENABLED 357 | #include "stm32f1xx_hal_pcd.h" 358 | #endif /* HAL_PCD_MODULE_ENABLED */ 359 | 360 | #ifdef HAL_HCD_MODULE_ENABLED 361 | #include "stm32f1xx_hal_hcd.h" 362 | #endif /* HAL_HCD_MODULE_ENABLED */ 363 | 364 | #ifdef HAL_MMC_MODULE_ENABLED 365 | #include "stm32f1xx_hal_mmc.h" 366 | #endif /* HAL_MMC_MODULE_ENABLED */ 367 | 368 | /* Exported macro ------------------------------------------------------------*/ 369 | #ifdef USE_FULL_ASSERT 370 | /** 371 | * @brief The assert_param macro is used for function's parameters check. 372 | * @param expr If expr is false, it calls assert_failed function 373 | * which reports the name of the source file and the source 374 | * line number of the call that failed. 375 | * If expr is true, it returns no value. 376 | * @retval None 377 | */ 378 | #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) 379 | /* Exported functions ------------------------------------------------------- */ 380 | void assert_failed(uint8_t* file, uint32_t line); 381 | #else 382 | #define assert_param(expr) ((void)0U) 383 | #endif /* USE_FULL_ASSERT */ 384 | 385 | #ifdef __cplusplus 386 | } 387 | #endif 388 | 389 | #endif /* __STM32F1xx_HAL_CONF_H */ 390 | 391 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 392 | -------------------------------------------------------------------------------- /Inc/stm32f1xx_it.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file stm32f1xx_it.h 5 | * @brief This file contains the headers of the interrupt handlers. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2020 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __STM32F1xx_IT_H 23 | #define __STM32F1xx_IT_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Private includes ----------------------------------------------------------*/ 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* Exported types ------------------------------------------------------------*/ 35 | /* USER CODE BEGIN ET */ 36 | 37 | /* USER CODE END ET */ 38 | 39 | /* Exported constants --------------------------------------------------------*/ 40 | /* USER CODE BEGIN EC */ 41 | 42 | /* USER CODE END EC */ 43 | 44 | /* Exported macro ------------------------------------------------------------*/ 45 | /* USER CODE BEGIN EM */ 46 | 47 | /* USER CODE END EM */ 48 | 49 | /* Exported functions prototypes ---------------------------------------------*/ 50 | void NMI_Handler(void); 51 | void HardFault_Handler(void); 52 | void MemManage_Handler(void); 53 | void BusFault_Handler(void); 54 | void UsageFault_Handler(void); 55 | void SVC_Handler(void); 56 | void DebugMon_Handler(void); 57 | void PendSV_Handler(void); 58 | void SysTick_Handler(void); 59 | void EXTI0_IRQHandler(void); 60 | void EXTI4_IRQHandler(void); 61 | void ADC1_2_IRQHandler(void); 62 | void TIM1_BRK_IRQHandler(void); 63 | void TIM2_IRQHandler(void); 64 | void SPI1_IRQHandler(void); 65 | /* USER CODE BEGIN EFP */ 66 | 67 | /* USER CODE END EFP */ 68 | 69 | #ifdef __cplusplus 70 | } 71 | #endif 72 | 73 | #endif /* __STM32F1xx_IT_H */ 74 | 75 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 76 | -------------------------------------------------------------------------------- /Inc/svpwm.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | #ifndef __SVPWM_H__ 4 | #define __SVPWM_H__ 5 | 6 | #include "main.h" 7 | #include "stm32f1xx_hal.h" 8 | 9 | 10 | 11 | #define PI 3.1416 12 | 13 | extern TIM_HandleTypeDef htim1; 14 | 15 | typedef struct 16 | { 17 | uint32_t b_TIM1PrdCnt; 18 | // b_VrefA = b_Vm * cos(2*pi*b_freq*t) 19 | // b_VrefB = b_Vm * cos(2*pi*b_freq*t - 2*pi/3) 20 | // b_VrefC = b_Vm * cos(2*pi*b_freq*t + 2*pi/3) 21 | float b_VrefA, b_VrefB, b_VrefC; 22 | float b_Vm, b_freq; 23 | float b_VrefAlpha, b_VrefBeta; 24 | 25 | uint8_t b_sector; 26 | float b_VrefAngle; 27 | 28 | //space vector 29 | //0 : 000 1: 001 2: 010 3: 011 4: 100 5: 101 6: 110 7: 111 30 | uint8_t a_VectorOut[3]; 31 | float a_VectorOutDuty[3]; 32 | uint32_t a_VectorOutDutyCmpr[4]; 33 | float OutA, OutB, OutC; 34 | 35 | } BLDC_SVPWMTypeDef; 36 | 37 | 38 | extern BLDC_SVPWMTypeDef svpwm1; 39 | 40 | 41 | 42 | 43 | void Clark_Transformation(float* In_a, float* In_b, float* In_c, float* Out_alpha, float* Out_beta); 44 | void InvClark_Transformation(float* In_alpha, float* In_beta, float* Out_a, float* Out_b, float* Out_c); 45 | void sectorJudge(BLDC_SVPWMTypeDef* svpwm); 46 | void SpaceVectorUpdate(BLDC_SVPWMTypeDef* svpwm); 47 | //void TIM1CmprLoad(void); 48 | //void SVPWM1_SpaceVectorDRV(uint8_t spaceVectorOut); 49 | void SVPWM1_SpaceVectorDRV_v2(uint8_t spaceVectorOut); 50 | void Periodic(); 51 | void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim); 52 | 53 | 54 | 55 | 56 | #endif 57 | 58 | -------------------------------------------------------------------------------- /InverterPCB_SCH.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/InverterPCB_SCH.zip -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/BigInverter.axf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/BigInverter.axf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/BigInverter.build_log.htm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/BigInverter.build_log.htm -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/BigInverter.lnp: -------------------------------------------------------------------------------- 1 | --cpu Cortex-M3 2 | ".\biginverter\startup_stm32f103xb.o" 3 | ".\biginverter\nrf24.o" 4 | ".\biginverter\nrf24_hal.o" 5 | ".\biginverter\main.o" 6 | ".\biginverter\stm32f1xx_it.o" 7 | ".\biginverter\stm32f1xx_hal_msp.o" 8 | ".\biginverter\stm32f1xx_hal_gpio_ex.o" 9 | ".\biginverter\stm32f1xx_hal_adc.o" 10 | ".\biginverter\stm32f1xx_hal_adc_ex.o" 11 | ".\biginverter\stm32f1xx_hal.o" 12 | ".\biginverter\stm32f1xx_hal_rcc.o" 13 | ".\biginverter\stm32f1xx_hal_rcc_ex.o" 14 | ".\biginverter\stm32f1xx_hal_gpio.o" 15 | ".\biginverter\stm32f1xx_hal_dma.o" 16 | ".\biginverter\stm32f1xx_hal_cortex.o" 17 | ".\biginverter\stm32f1xx_hal_pwr.o" 18 | ".\biginverter\stm32f1xx_hal_flash.o" 19 | ".\biginverter\stm32f1xx_hal_flash_ex.o" 20 | ".\biginverter\stm32f1xx_hal_exti.o" 21 | ".\biginverter\stm32f1xx_hal_spi.o" 22 | ".\biginverter\stm32f1xx_hal_tim.o" 23 | ".\biginverter\stm32f1xx_hal_tim_ex.o" 24 | ".\biginverter\stm32f1xx_hal_uart.o" 25 | ".\biginverter\system_stm32f1xx.o" 26 | "C:\Users\alvar\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\DSP\Lib\ARM\arm_cortexM3l_math.lib" 27 | --library_type=microlib --strict --scatter ".\BigInverter\BigInverter.sct" 28 | --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols 29 | --info sizes --info totals --info unused --info veneers 30 | --list "BigInverter.map" -o .\BigInverter\BigInverter.axf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/BigInverter.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00020000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00020000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | .ANY (+XO) 11 | } 12 | RW_IRAM1 0x20000000 0x00005000 { ; RW data 13 | .ANY (+RW +ZI) 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/BigInverter_sct.Bak: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00020000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00020000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | } 11 | RW_IRAM1 0x20000000 0x00005000 { ; RW data 12 | .ANY (+RW +ZI) 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/ExtDll.iex: -------------------------------------------------------------------------------- 1 | [EXTDLL] 2 | Count=0 3 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/main.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/main.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/main.d: -------------------------------------------------------------------------------- 1 | .\biginverter\main.o: ../Src/main.c 2 | .\biginverter\main.o: ../Inc/main.h 3 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 4 | .\biginverter\main.o: ../Inc/stm32f1xx_hal_conf.h 5 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 6 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 7 | .\biginverter\main.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 8 | .\biginverter\main.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 9 | .\biginverter\main.o: ../Drivers/CMSIS/Include/core_cm3.h 10 | .\biginverter\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\biginverter\main.o: ../Drivers/CMSIS/Include/cmsis_version.h 12 | .\biginverter\main.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 13 | .\biginverter\main.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 14 | .\biginverter\main.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 15 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 16 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 17 | .\biginverter\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 18 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 19 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 20 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 21 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 22 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 23 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 24 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 25 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 26 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 27 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 28 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 29 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 30 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 31 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 32 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 33 | .\biginverter\main.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 34 | .\biginverter\main.o: ../Drivers/CMSIS/Include/arm_math.h 35 | .\biginverter\main.o: ../Drivers/CMSIS/Include/core_cm3.h 36 | .\biginverter\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h 37 | .\biginverter\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h 38 | .\biginverter\main.o: ../Inc/nrf24.h 39 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/main.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24.d: -------------------------------------------------------------------------------- 1 | .\biginverter\nrf24.o: ..\Src\nrf24.c 2 | .\biginverter\nrf24.o: ../Inc/nrf24.h 3 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24_hal.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24_hal.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24_hal.d: -------------------------------------------------------------------------------- 1 | .\biginverter\nrf24_hal.o: ..\Src\nrf24_hal.c 2 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24_hal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24_hal.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24l01.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24l01.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24l01.d: -------------------------------------------------------------------------------- 1 | .\biginverter\nrf24l01.o: ..\Src\nrf24l01.c 2 | .\biginverter\nrf24l01.o: ../Inc/nrf24l01.h 3 | .\biginverter\nrf24l01.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h 4 | .\biginverter\nrf24l01.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 5 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 6 | .\biginverter\nrf24l01.o: ../Inc/stm32f1xx_hal_conf.h 7 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 8 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 9 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 10 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 11 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Include/core_cm3.h 12 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Include/cmsis_version.h 13 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 14 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 15 | .\biginverter\nrf24l01.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 16 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 17 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 18 | .\biginverter\nrf24l01.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 19 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 20 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 21 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 22 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 23 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 24 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 25 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 26 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 27 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 28 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 29 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 30 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 31 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 32 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 33 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 34 | .\biginverter\nrf24l01.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 35 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/nrf24l01.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/nrf24l01.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/startup_stm32f103xb.d: -------------------------------------------------------------------------------- 1 | .\biginverter\startup_stm32f103xb.o: startup_stm32f103xb.s 2 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/startup_stm32f103xb.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/startup_stm32f103xb.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c 2 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_adc.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc.c 2 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_adc.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_adc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_adc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_adc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_adc.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc_ex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_adc_ex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc_ex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_adc_ex.c 2 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_adc_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_adc_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_adc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_adc_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_adc_ex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_cortex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_cortex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_cortex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c 2 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_cortex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_cortex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_cortex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_cortex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_cortex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_cortex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_dma.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_dma.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_dma.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c 2 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_dma.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_dma.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_dma.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_dma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_dma.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_exti.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_exti.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_exti.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c 2 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_exti.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_exti.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_exti.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_exti.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_exti.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_exti.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_flash.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c 2 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_flash.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_flash.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_flash.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_flash.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_flash.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash_ex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_flash_ex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash_ex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c 2 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_flash_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_flash_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_flash_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_flash_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_flash_ex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_gpio.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c 2 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_gpio.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_gpio.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_gpio.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_gpio.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_gpio.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio_ex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_gpio_ex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio_ex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c 2 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_gpio_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_gpio_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_gpio_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_gpio_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_gpio_ex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_msp.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_msp.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_msp.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_msp.o: ../Src/stm32f1xx_hal_msp.c 2 | .\biginverter\stm32f1xx_hal_msp.o: ../Inc/main.h 3 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 4 | .\biginverter\stm32f1xx_hal_msp.o: ../Inc/stm32f1xx_hal_conf.h 5 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 6 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 7 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 8 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 9 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Include/core_cm3.h 10 | .\biginverter\stm32f1xx_hal_msp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Include/cmsis_version.h 12 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 13 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 14 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 15 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 16 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 17 | .\biginverter\stm32f1xx_hal_msp.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 18 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 19 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 20 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 21 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 22 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 23 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 24 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 25 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 26 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 27 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 28 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 29 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 30 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 31 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 32 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 33 | .\biginverter\stm32f1xx_hal_msp.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 34 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_msp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_msp.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_pwr.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_pwr.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_pwr.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c 2 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_pwr.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_pwr.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_pwr.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_pwr.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_pwr.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_pwr.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_rcc.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c 2 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_rcc.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_rcc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_rcc.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_rcc.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_rcc.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc_ex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_rcc_ex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc_ex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c 2 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_rcc_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_rcc_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_rcc_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_rcc_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_rcc_ex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_spi.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_spi.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_spi.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c 2 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_spi.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_spi.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_spi.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_spi.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_spi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_spi.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_tim.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 2 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_tim.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_tim.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_tim.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_tim.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_tim.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim_ex.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_tim_ex.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim_ex.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 2 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_tim_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_tim_ex.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_tim_ex.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_tim_ex.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_tim_ex.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_uart.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_uart.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_uart.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 2 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 3 | .\biginverter\stm32f1xx_hal_uart.o: ../Inc/stm32f1xx_hal_conf.h 4 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 5 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 6 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 7 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 8 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Include/core_cm3.h 9 | .\biginverter\stm32f1xx_hal_uart.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 10 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Include/cmsis_version.h 11 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 12 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 13 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 14 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 15 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\stm32f1xx_hal_uart.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\stm32f1xx_hal_uart.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_hal_uart.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_hal_uart.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_it.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_it.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_it.d: -------------------------------------------------------------------------------- 1 | .\biginverter\stm32f1xx_it.o: ../Src/stm32f1xx_it.c 2 | .\biginverter\stm32f1xx_it.o: ../Inc/main.h 3 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 4 | .\biginverter\stm32f1xx_it.o: ../Inc/stm32f1xx_hal_conf.h 5 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 6 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 7 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 8 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 9 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Include/core_cm3.h 10 | .\biginverter\stm32f1xx_it.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 11 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Include/cmsis_version.h 12 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 13 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 14 | .\biginverter\stm32f1xx_it.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 15 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 16 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 17 | .\biginverter\stm32f1xx_it.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 18 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 19 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 20 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 21 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 22 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 23 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 24 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 25 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 26 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 27 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 28 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 29 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 30 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 31 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 32 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 33 | .\biginverter\stm32f1xx_it.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 34 | .\biginverter\stm32f1xx_it.o: ../Inc/stm32f1xx_it.h 35 | .\biginverter\stm32f1xx_it.o: ../Inc/nrf24l01.h 36 | .\biginverter\stm32f1xx_it.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h 37 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/stm32f1xx_it.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/stm32f1xx_it.o -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/system_stm32f1xx.crf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/system_stm32f1xx.crf -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/system_stm32f1xx.d: -------------------------------------------------------------------------------- 1 | .\biginverter\system_stm32f1xx.o: ../Src/system_stm32f1xx.c 2 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 3 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xb.h 4 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Include/core_cm3.h 5 | .\biginverter\system_stm32f1xx.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h 6 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Include/cmsis_version.h 7 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Include/cmsis_compiler.h 8 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Include/cmsis_armcc.h 9 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h 10 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h 11 | .\biginverter\system_stm32f1xx.o: ../Inc/stm32f1xx_hal_conf.h 12 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h 13 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h 14 | .\biginverter\system_stm32f1xx.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h 15 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 16 | .\biginverter\system_stm32f1xx.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h 17 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h 18 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h 19 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h 20 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h 21 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h 22 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h 23 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h 24 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc.h 25 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_adc_ex.h 26 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h 27 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h 28 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h 29 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h 30 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h 31 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h 32 | .\biginverter\system_stm32f1xx.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h 33 | -------------------------------------------------------------------------------- /MDK-ARM/BigInverter/system_stm32f1xx.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/MDK-ARM/BigInverter/system_stm32f1xx.o -------------------------------------------------------------------------------- /Mansur_Diego_de_Mello_tcc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/Mansur_Diego_de_Mello_tcc.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # STM32 SERVO FOC PMSM with Encoder 2 | I made this inverter to experiment the servo motor FOC algorithm. As you can see in the files I made it with Keil MDK and STM32CUBEMX with STM32F103. This software version is not the final version, I want to add another things like NRF24L01 Communication. 3 | I´m testing it with an old Fanuc 5S/3000 junkyard servo motor (3000RPM 107V 10A 5,9Nm) with 2000ppr incremental encoder. 4 | 5 | # Features 6 | - **STM32F103** ST 32 bit microcontroller 7 | - **STK621-061** 30A Three Phase hybrid power inverter with predriver, overcurrent and overtemperature protection 8 | - **ACS712** Current measurement / Motor Phase U and V current 9 | - **Encoder** A-/A B-/B Z-/Z input 10 | - **VBus** Measurement 11 | 12 | # Working until now 13 | - Center Aligned PWM TIMER 1 14 | - Iq and Id PID current control 15 | - My Encoder have 2000 cpr, that means 8000 rising and falling edges in TIMER 2 Encoder Input 16 | - The motor is running fw and bw depending on Iq Set point, positive and negative POT variable values changed in debug mode (Simulating a potenciometer) 17 | - Encoder Z input to "align" incremental encoder and the software 18 | - Absolute position measurement in degrees 19 | - TIM2 compare generates interrupt each time the Encoder input counts 2000 pulses up, or down. 20 | 21 | 22 | # PHOTOS 23 | ## Fanuc motors 24 | ![IMG_1908](https://user-images.githubusercontent.com/84080967/120412340-c66de400-c32c-11eb-8e79-f12ca47a14ff.jpg) 25 | ![IMG_1909](https://user-images.githubusercontent.com/84080967/120411772-ba355700-c32b-11eb-85e6-382903a11c1a.jpg) 26 | ## Rectifier and Inverter 27 | ![IMG_1910](https://user-images.githubusercontent.com/84080967/120411776-bbff1a80-c32b-11eb-82f1-4319a9326f66.jpg) 28 | ![IMG_1911](https://user-images.githubusercontent.com/84080967/120411778-bd304780-c32b-11eb-9d0f-cb345f32a701.jpg) 29 | ## Inverter PCB 30 | ![IMG_1912](https://user-images.githubusercontent.com/84080967/120411782-be617480-c32b-11eb-95d7-f94fb46126a3.jpg) 31 | ## Inverter PCB + Home Made Stencil 32 | ![IMG_1913](https://user-images.githubusercontent.com/84080967/120412382-d8e81d80-c32c-11eb-9fa9-2cdadecbbc90.jpg) 33 | 34 | 35 | 36 | # TODO List 37 | - [ ] Space vector modulation?? maybe not necessary 38 | - [ ] NRF24L01 Communication 39 | - [ ] Speed control loop 40 | - [ ] Position control loop 41 | 42 | # Safety instructions 43 | **You have to use an ISOLATED USB or an ISOLATED STLINK to protect you PC of any transient or short circuit.** 44 | I bought in Aliexpress an USB isolation board that works great. 45 | I´m sharing this files for educational purposes. 46 | Remember to use it with care, building a system like it you will deal with high voltage 220AC and it is very dangerous :) 47 | 48 | -------------------------------------------------------------------------------- /STK621-061_Sanyo.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/STK621-061_Sanyo.pdf -------------------------------------------------------------------------------- /STM32F103 RM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/STM32F103 RM.pdf -------------------------------------------------------------------------------- /Spwm voltage Sim.psimsch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/Spwm voltage Sim.psimsch -------------------------------------------------------------------------------- /Src/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/Src/main.c -------------------------------------------------------------------------------- /Src/nrf24_hal.c: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Src/nrf24l01.c: -------------------------------------------------------------------------------- 1 | #include "nrf24l01.h" 2 | 3 | static void ce_set(nrf24l01* dev) { 4 | HAL_GPIO_WritePin(dev->config.ce_port, dev->config.ce_pin, GPIO_PIN_SET); 5 | } 6 | 7 | static void ce_reset(nrf24l01* dev) { 8 | HAL_GPIO_WritePin(dev->config.ce_port, dev->config.ce_pin, GPIO_PIN_RESET); 9 | } 10 | 11 | static void csn_set(nrf24l01* dev) { 12 | HAL_GPIO_WritePin(dev->config.csn_port, dev->config.csn_pin, GPIO_PIN_SET); 13 | } 14 | 15 | static void csn_reset(nrf24l01* dev) { 16 | HAL_GPIO_WritePin(dev->config.csn_port, dev->config.csn_pin, 17 | GPIO_PIN_RESET); 18 | } 19 | 20 | NRF_RESULT nrf_init(nrf24l01* dev, nrf24l01_config* config) { 21 | dev->config = *config; 22 | 23 | ce_reset(dev); 24 | csn_reset(dev); 25 | 26 | nrf_power_up(dev, true); 27 | 28 | uint8_t config_reg = 0; 29 | 30 | while ((config_reg & 2) == 0) { // wait for powerup 31 | nrf_read_register(dev, NRF_CONFIG, &config_reg); 32 | } 33 | 34 | nrf_set_rx_payload_width_p0(dev, dev->config.payload_length); 35 | nrf_set_rx_payload_width_p1(dev, dev->config.payload_length); 36 | 37 | nrf_set_rx_address_p1(dev, dev->config.rx_address); 38 | nrf_set_rx_address_p0(dev, dev->config.tx_address); 39 | nrf_set_tx_address(dev, dev->config.tx_address); 40 | nrf_enable_rx_data_ready_irq(dev, 1); 41 | nrf_enable_tx_data_sent_irq(dev, 1); 42 | nrf_enable_max_retransmit_irq(dev, 1); 43 | nrf_enable_crc(dev, 1); 44 | nrf_set_crc_width(dev, dev->config.crc_width); 45 | nrf_set_address_width(dev, dev->config.addr_width); 46 | nrf_set_rf_channel(dev, dev->config.rf_channel); 47 | nrf_set_data_rate(dev, dev->config.data_rate); 48 | nrf_set_retransmittion_count(dev, dev->config.retransmit_count); 49 | nrf_set_retransmittion_delay(dev, dev->config.retransmit_delay); 50 | 51 | nrf_set_rx_pipes(dev, 0x03); 52 | nrf_enable_auto_ack(dev, 0); 53 | 54 | nrf_clear_interrupts(dev); 55 | 56 | nrf_rx_tx_control(dev, NRF_STATE_RX); 57 | 58 | nrf_flush_rx(dev); 59 | ce_set(dev); 60 | 61 | return NRF_OK; 62 | } 63 | 64 | NRF_RESULT nrf_send_command(nrf24l01* dev, NRF_COMMAND cmd, const uint8_t* tx, 65 | uint8_t* rx, uint8_t len) { 66 | uint8_t myTX[len + 1]; 67 | uint8_t myRX[len + 1]; 68 | myTX[0] = cmd; 69 | 70 | int i = 0; 71 | for (i = 0; i < len; i++) { 72 | myTX[1 + i] = tx[i]; 73 | myRX[i] = 0; 74 | } 75 | 76 | csn_reset(dev); 77 | 78 | if (HAL_SPI_TransmitReceive(dev->config.spi, myTX, myRX, 1 + len, 79 | dev->config.spi_timeout) != HAL_OK) { 80 | return NRF_ERROR; 81 | } 82 | 83 | for (i = 0; i < len; i++) { rx[i] = myRX[1 + i]; } 84 | 85 | csn_set(dev); 86 | 87 | return NRF_OK; 88 | } 89 | 90 | void nrf_irq_handler(nrf24l01* dev) { 91 | uint8_t status = 0; 92 | if (nrf_read_register(dev, NRF_STATUS, &status) != NRF_OK) { return; } 93 | 94 | if ((status & (1 << 6))) { // RX FIFO Interrupt 95 | uint8_t fifo_status = 0; 96 | ce_reset(dev); 97 | nrf_write_register(dev, NRF_STATUS, &status); 98 | nrf_read_register(dev, NRF_FIFO_STATUS, &fifo_status); 99 | if ((fifo_status & 1) == 0) { 100 | uint8_t* rx_buffer = dev->config.rx_buffer; 101 | nrf_read_rx_payload(dev, rx_buffer); 102 | status |= 1 << 6; 103 | nrf_write_register(dev, NRF_STATUS, &status); 104 | // nrf_flush_rx(dev); 105 | nrf_packet_received_callback(dev, rx_buffer); 106 | } 107 | ce_set(dev); 108 | } 109 | if ((status & (1 << 5))) { // TX Data Sent Interrupt 110 | status |= 1 << 5; // clear the interrupt flag 111 | ce_reset(dev); 112 | nrf_rx_tx_control(dev, NRF_STATE_RX); 113 | dev->state = NRF_STATE_RX; 114 | ce_set(dev); 115 | nrf_write_register(dev, NRF_STATUS, &status); 116 | dev->tx_result = NRF_OK; 117 | dev->tx_busy = 0; 118 | } 119 | if ((status & (1 << 4))) { // MaxRetransmits reached 120 | status |= 1 << 4; 121 | 122 | nrf_flush_tx(dev); 123 | nrf_power_up(dev, 0); // power down 124 | nrf_power_up(dev, 1); // power up 125 | 126 | ce_reset(dev); 127 | nrf_rx_tx_control(dev, NRF_STATE_RX); 128 | dev->state = NRF_STATE_RX; 129 | ce_set(dev); 130 | 131 | nrf_write_register(dev, NRF_STATUS, &status); 132 | dev->tx_result = NRF_ERROR; 133 | dev->tx_busy = 0; 134 | } 135 | } 136 | 137 | __weak void nrf_packet_received_callback(nrf24l01* dev, uint8_t* data) { 138 | // default implementation (__weak) is used in favor of nrf_receive_packet 139 | dev->rx_busy = 0; 140 | } 141 | 142 | NRF_RESULT nrf_read_register(nrf24l01* dev, uint8_t reg, uint8_t* data) { 143 | uint8_t tx = 0; 144 | if (nrf_send_command(dev, NRF_CMD_R_REGISTER | reg, &tx, data, 1) != 145 | NRF_OK) { 146 | return NRF_ERROR; 147 | } 148 | return NRF_OK; 149 | } 150 | 151 | NRF_RESULT nrf_write_register(nrf24l01* dev, uint8_t reg, uint8_t* data) { 152 | uint8_t rx = 0; 153 | if (nrf_send_command(dev, NRF_CMD_W_REGISTER | reg, data, &rx, 1) != 154 | NRF_OK) { 155 | return NRF_ERROR; 156 | } 157 | return NRF_OK; 158 | } 159 | 160 | NRF_RESULT nrf_read_rx_payload(nrf24l01* dev, uint8_t* data) { 161 | uint8_t tx[dev->config.payload_length]; 162 | if (nrf_send_command(dev, NRF_CMD_R_RX_PAYLOAD, tx, data, 163 | dev->config.payload_length) != NRF_OK) { 164 | return NRF_ERROR; 165 | } 166 | return NRF_OK; 167 | } 168 | 169 | NRF_RESULT nrf_write_tx_payload(nrf24l01* dev, const uint8_t* data) { 170 | uint8_t rx[dev->config.payload_length]; 171 | if (nrf_send_command(dev, NRF_CMD_W_TX_PAYLOAD, data, rx, 172 | dev->config.payload_length) != NRF_OK) { 173 | return NRF_ERROR; 174 | } 175 | return NRF_OK; 176 | } 177 | 178 | NRF_RESULT nrf_write_tx_payload_noack(nrf24l01* dev, const uint8_t* data) { 179 | uint8_t rx[dev->config.payload_length]; 180 | if (nrf_send_command(dev, NRF_CMD_W_TX_PAYLOAD_NOACK, data, rx, 181 | dev->config.payload_length) != NRF_OK) { 182 | return NRF_ERROR; 183 | } 184 | return NRF_OK; 185 | } 186 | 187 | NRF_RESULT nrf_flush_tx(nrf24l01* dev) { 188 | uint8_t rx = 0; 189 | uint8_t tx = 0; 190 | if (nrf_send_command(dev, NRF_CMD_FLUSH_TX, &tx, &rx, 0) != NRF_OK) { 191 | return NRF_ERROR; 192 | } 193 | return NRF_OK; 194 | } 195 | 196 | NRF_RESULT nrf_flush_rx(nrf24l01* dev) { 197 | uint8_t rx = 0; 198 | uint8_t tx = 0; 199 | if (nrf_send_command(dev, NRF_CMD_FLUSH_RX, &tx, &rx, 0) != NRF_OK) { 200 | return NRF_ERROR; 201 | } 202 | return NRF_OK; 203 | } 204 | 205 | NRF_RESULT nrf_set_data_rate(nrf24l01* dev, NRF_DATA_RATE rate) { 206 | uint8_t reg = 0; 207 | if (nrf_read_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 208 | return NRF_ERROR; 209 | } 210 | if (rate & 1) { // low bit set 211 | reg |= 1 << 5; 212 | } else { // low bit clear 213 | reg &= ~(1 << 5); 214 | } 215 | 216 | if (rate & 2) { // high bit set 217 | reg |= 1 << 3; 218 | } else { // high bit clear 219 | reg &= ~(1 << 3); 220 | } 221 | if (nrf_write_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 222 | return NRF_ERROR; 223 | } 224 | dev->config.data_rate = rate; 225 | return NRF_OK; 226 | } 227 | 228 | NRF_RESULT nrf_set_tx_power(nrf24l01* dev, NRF_TX_PWR pwr) { 229 | uint8_t reg = 0; 230 | if (nrf_read_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 231 | return NRF_ERROR; 232 | } 233 | reg &= 0xF9; // clear bits 1,2 234 | reg |= pwr << 1; // set bits 1,2 235 | if (nrf_write_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 236 | return NRF_ERROR; 237 | } 238 | dev->config.tx_power = pwr; 239 | return NRF_OK; 240 | } 241 | 242 | NRF_RESULT nrf_set_ccw(nrf24l01* dev, bool activate) { 243 | uint8_t reg = 0; 244 | if (nrf_read_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 245 | return NRF_ERROR; 246 | } 247 | 248 | if (activate) { 249 | reg |= 0x80; 250 | } else { 251 | reg &= 0x7F; 252 | } 253 | 254 | if (nrf_write_register(dev, NRF_RF_SETUP, ®) != NRF_OK) { 255 | return NRF_ERROR; 256 | } 257 | return NRF_OK; 258 | } 259 | 260 | NRF_RESULT nrf_clear_interrupts(nrf24l01* dev) { 261 | uint8_t reg = 0; 262 | if (nrf_read_register(dev, NRF_STATUS, ®) != NRF_OK) { 263 | return NRF_ERROR; 264 | } 265 | 266 | reg |= 7 << 4; // setting bits 4,5,6 267 | 268 | if (nrf_write_register(dev, NRF_STATUS, ®) != NRF_OK) { 269 | return NRF_ERROR; 270 | } 271 | return NRF_OK; 272 | } 273 | 274 | NRF_RESULT nrf_set_rf_channel(nrf24l01* dev, uint8_t ch) { 275 | ch &= 0x7F; 276 | uint8_t reg = 0; 277 | if (nrf_read_register(dev, NRF_RF_CH, ®) != NRF_OK) { return NRF_ERROR; } 278 | 279 | reg |= ch; // setting channel 280 | 281 | if (nrf_write_register(dev, NRF_RF_CH, ®) != NRF_OK) { 282 | return NRF_ERROR; 283 | } 284 | dev->config.rf_channel = ch; 285 | return NRF_OK; 286 | } 287 | 288 | NRF_RESULT nrf_set_retransmittion_count(nrf24l01* dev, uint8_t count) { 289 | count &= 0x0F; 290 | uint8_t reg = 0; 291 | if (nrf_read_register(dev, NRF_SETUP_RETR, ®) != NRF_OK) { 292 | return NRF_ERROR; 293 | } 294 | 295 | reg &= 0xF0; // clearing bits 0,1,2,3 296 | reg |= count; // setting count 297 | 298 | if (nrf_write_register(dev, NRF_SETUP_RETR, ®) != NRF_OK) { 299 | return NRF_ERROR; 300 | } 301 | dev->config.retransmit_count = count; 302 | return NRF_OK; 303 | } 304 | 305 | NRF_RESULT nrf_set_retransmittion_delay(nrf24l01* dev, uint8_t delay) { 306 | delay &= 0x0F; 307 | uint8_t reg = 0; 308 | if (nrf_read_register(dev, NRF_SETUP_RETR, ®) != NRF_OK) { 309 | return NRF_ERROR; 310 | } 311 | 312 | reg &= 0x0F; // clearing bits 1,2,6,7 313 | reg |= delay << 4; // setting delay 314 | 315 | if (nrf_write_register(dev, NRF_SETUP_RETR, ®) != NRF_OK) { 316 | return NRF_ERROR; 317 | } 318 | dev->config.retransmit_delay = delay; 319 | return NRF_OK; 320 | } 321 | 322 | NRF_RESULT nrf_set_address_width(nrf24l01* dev, NRF_ADDR_WIDTH width) { 323 | uint8_t reg = 0; 324 | if (nrf_read_register(dev, NRF_SETUP_AW, ®) != NRF_OK) { 325 | return NRF_ERROR; 326 | } 327 | 328 | reg &= 0x03; // clearing bits 0,1 329 | reg |= width; // setting delay 330 | 331 | if (nrf_write_register(dev, NRF_SETUP_AW, ®) != NRF_OK) { 332 | return NRF_ERROR; 333 | } 334 | dev->config.addr_width = width; 335 | return NRF_OK; 336 | } 337 | 338 | NRF_RESULT nrf_set_rx_pipes(nrf24l01* dev, uint8_t pipes) { 339 | if (nrf_write_register(dev, NRF_EN_RXADDR, &pipes) != NRF_OK) { 340 | return NRF_ERROR; 341 | } 342 | return NRF_OK; 343 | } 344 | 345 | NRF_RESULT nrf_enable_auto_ack(nrf24l01* dev, uint8_t pipe) { 346 | uint8_t reg = 0; 347 | if (nrf_read_register(dev, NRF_EN_AA, ®) != NRF_OK) { return NRF_ERROR; } 348 | 349 | reg |= 1 << pipe; 350 | 351 | if (nrf_write_register(dev, NRF_EN_AA, ®) != NRF_OK) { 352 | return NRF_ERROR; 353 | } 354 | return NRF_OK; 355 | } 356 | 357 | NRF_RESULT nrf_enable_crc(nrf24l01* dev, bool activate) { 358 | uint8_t reg = 0; 359 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 360 | return NRF_ERROR; 361 | } 362 | 363 | if (activate) { 364 | reg |= 1 << 3; 365 | } else { 366 | reg &= ~(1 << 3); 367 | } 368 | 369 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 370 | return NRF_ERROR; 371 | } 372 | return NRF_OK; 373 | } 374 | 375 | NRF_RESULT nrf_set_crc_width(nrf24l01* dev, NRF_CRC_WIDTH width) { 376 | uint8_t reg = 0; 377 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 378 | return NRF_ERROR; 379 | } 380 | 381 | if (width == NRF_CRC_WIDTH_2B) { 382 | reg |= 1 << 2; 383 | } else { 384 | reg &= ~(1 << 3); 385 | } 386 | 387 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 388 | return NRF_ERROR; 389 | } 390 | dev->config.crc_width = width; 391 | return NRF_OK; 392 | } 393 | 394 | NRF_RESULT nrf_power_up(nrf24l01* dev, bool power_up) { 395 | uint8_t reg = 0; 396 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 397 | return NRF_ERROR; 398 | } 399 | 400 | if (power_up) { 401 | reg |= 1 << 1; 402 | } else { 403 | reg &= ~(1 << 1); 404 | } 405 | 406 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 407 | return NRF_ERROR; 408 | } 409 | return NRF_OK; 410 | } 411 | 412 | NRF_RESULT nrf_rx_tx_control(nrf24l01* dev, NRF_TXRX_STATE rx) { 413 | uint8_t reg = 0; 414 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 415 | return NRF_ERROR; 416 | } 417 | 418 | if (rx) { 419 | reg |= 1; 420 | } else { 421 | reg &= ~(1); 422 | } 423 | 424 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 425 | return NRF_ERROR; 426 | } 427 | return NRF_OK; 428 | } 429 | 430 | NRF_RESULT nrf_enable_rx_data_ready_irq(nrf24l01* dev, bool activate) { 431 | uint8_t reg = 0; 432 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 433 | return NRF_ERROR; 434 | } 435 | 436 | if (!activate) { 437 | reg |= 1 << 6; 438 | } else { 439 | reg &= ~(1 << 6); 440 | } 441 | 442 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 443 | return NRF_ERROR; 444 | } 445 | return NRF_OK; 446 | } 447 | 448 | NRF_RESULT nrf_enable_tx_data_sent_irq(nrf24l01* dev, bool activate) { 449 | uint8_t reg = 0; 450 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 451 | return NRF_ERROR; 452 | } 453 | if (!activate) { 454 | reg |= 1 << 5; 455 | } else { 456 | reg &= ~(1 << 5); 457 | } 458 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 459 | return NRF_ERROR; 460 | } 461 | return NRF_OK; 462 | } 463 | 464 | NRF_RESULT nrf_enable_max_retransmit_irq(nrf24l01* dev, bool activate) { 465 | uint8_t reg = 0; 466 | if (nrf_read_register(dev, NRF_CONFIG, ®) != NRF_OK) { 467 | return NRF_ERROR; 468 | } 469 | if (!activate) { 470 | reg |= 1 << 4; 471 | } else { 472 | reg &= ~(1 << 4); 473 | } 474 | if (nrf_write_register(dev, NRF_CONFIG, ®) != NRF_OK) { 475 | return NRF_ERROR; 476 | } 477 | return NRF_OK; 478 | } 479 | 480 | NRF_RESULT nrf_set_rx_address_p0(nrf24l01* dev, const uint8_t* address) { 481 | uint8_t rx[5]; 482 | if (nrf_send_command(dev, NRF_CMD_W_REGISTER | NRF_RX_ADDR_P0, address, rx, 483 | 5) != NRF_OK) { 484 | return NRF_ERROR; 485 | } 486 | dev->config.rx_address = address; 487 | return NRF_OK; 488 | } 489 | 490 | NRF_RESULT nrf_set_rx_address_p1(nrf24l01* dev, const uint8_t* address) { 491 | uint8_t rx[5]; 492 | if (nrf_send_command(dev, NRF_CMD_W_REGISTER | NRF_RX_ADDR_P1, address, rx, 493 | 5) != NRF_OK) { 494 | return NRF_ERROR; 495 | } 496 | dev->config.rx_address = address; 497 | return NRF_OK; 498 | } 499 | 500 | NRF_RESULT nrf_set_tx_address(nrf24l01* dev, const uint8_t* address) { 501 | uint8_t rx[5]; 502 | if (nrf_send_command(dev, NRF_CMD_W_REGISTER | NRF_TX_ADDR, address, rx, 503 | 5) != NRF_OK) { 504 | return NRF_ERROR; 505 | } 506 | dev->config.tx_address = address; 507 | return NRF_OK; 508 | } 509 | 510 | NRF_RESULT nrf_set_rx_payload_width_p0(nrf24l01* dev, uint8_t width) { 511 | width &= 0x3F; 512 | if (nrf_write_register(dev, NRF_RX_PW_P0, &width) != NRF_OK) { 513 | dev->config.payload_length = 0; 514 | return NRF_ERROR; 515 | } 516 | dev->config.payload_length = width; 517 | return NRF_OK; 518 | } 519 | 520 | NRF_RESULT nrf_set_rx_payload_width_p1(nrf24l01* dev, uint8_t width) { 521 | width &= 0x3F; 522 | if (nrf_write_register(dev, NRF_RX_PW_P1, &width) != NRF_OK) { 523 | dev->config.payload_length = 0; 524 | return NRF_ERROR; 525 | } 526 | dev->config.payload_length = width; 527 | return NRF_OK; 528 | } 529 | 530 | NRF_RESULT nrf_send_packet(nrf24l01* dev, const uint8_t* data) { 531 | 532 | dev->tx_busy = 1; 533 | 534 | ce_reset(dev); 535 | nrf_rx_tx_control(dev, NRF_STATE_TX); 536 | nrf_write_tx_payload(dev, data); 537 | ce_set(dev); 538 | 539 | while (dev->tx_busy == 1) {} // wait for end of transmittion 540 | 541 | return dev->tx_result; 542 | } 543 | 544 | NRF_RESULT nrf_send_packet_noack(nrf24l01* dev, const uint8_t* data) { 545 | dev->tx_busy = 1; 546 | 547 | ce_reset(dev); 548 | nrf_rx_tx_control(dev, NRF_STATE_TX); 549 | nrf_write_tx_payload_noack(dev, data); 550 | ce_set(dev); 551 | 552 | while (dev->tx_busy == 1) {} // wait for end of transmittion 553 | 554 | return dev->tx_result; 555 | } 556 | 557 | const uint8_t* nrf_receive_packet(nrf24l01* dev) { 558 | 559 | dev->rx_busy = 1; 560 | 561 | ce_reset(dev); 562 | nrf_rx_tx_control(dev, NRF_STATE_RX); 563 | ce_set(dev); 564 | 565 | while (dev->rx_busy == 1) {} // wait for reception 566 | 567 | return dev->config.rx_buffer; 568 | } 569 | 570 | NRF_RESULT nrf_push_packet(nrf24l01* dev, const uint8_t* data) { 571 | 572 | if (dev->tx_busy == 1) { 573 | nrf_flush_tx(dev); 574 | } else { 575 | dev->tx_busy = 1; 576 | } 577 | 578 | ce_reset(dev); 579 | nrf_rx_tx_control(dev, NRF_STATE_TX); 580 | nrf_write_tx_payload(dev, data); 581 | ce_set(dev); 582 | 583 | return NRF_OK; 584 | } 585 | -------------------------------------------------------------------------------- /Src/stm32f1xx_hal_msp.c: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * File Name : stm32f1xx_hal_msp.c 5 | * Description : This file provides code for the MSP Initialization 6 | * and de-Initialization codes. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2020 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under BSD 3-Clause license, 14 | * the "License"; You may not use this file except in compliance with the 15 | * License. You may obtain a copy of the License at: 16 | * opensource.org/licenses/BSD-3-Clause 17 | * 18 | ****************************************************************************** 19 | */ 20 | /* USER CODE END Header */ 21 | 22 | /* Includes ------------------------------------------------------------------*/ 23 | #include "main.h" 24 | /* USER CODE BEGIN Includes */ 25 | 26 | /* USER CODE END Includes */ 27 | extern DMA_HandleTypeDef hdma_adc1; 28 | 29 | /* Private typedef -----------------------------------------------------------*/ 30 | /* USER CODE BEGIN TD */ 31 | 32 | /* USER CODE END TD */ 33 | 34 | /* Private define ------------------------------------------------------------*/ 35 | /* USER CODE BEGIN Define */ 36 | 37 | /* USER CODE END Define */ 38 | 39 | /* Private macro -------------------------------------------------------------*/ 40 | /* USER CODE BEGIN Macro */ 41 | 42 | /* USER CODE END Macro */ 43 | 44 | /* Private variables ---------------------------------------------------------*/ 45 | /* USER CODE BEGIN PV */ 46 | 47 | /* USER CODE END PV */ 48 | 49 | /* Private function prototypes -----------------------------------------------*/ 50 | /* USER CODE BEGIN PFP */ 51 | 52 | /* USER CODE END PFP */ 53 | 54 | /* External functions --------------------------------------------------------*/ 55 | /* USER CODE BEGIN ExternalFunctions */ 56 | 57 | /* USER CODE END ExternalFunctions */ 58 | 59 | /* USER CODE BEGIN 0 */ 60 | 61 | /* USER CODE END 0 */ 62 | 63 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim); 64 | /** 65 | * Initializes the Global MSP. 66 | */ 67 | void HAL_MspInit(void) 68 | { 69 | /* USER CODE BEGIN MspInit 0 */ 70 | 71 | /* USER CODE END MspInit 0 */ 72 | 73 | __HAL_RCC_AFIO_CLK_ENABLE(); 74 | __HAL_RCC_PWR_CLK_ENABLE(); 75 | 76 | /* System interrupt init*/ 77 | 78 | /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled 79 | */ 80 | __HAL_AFIO_REMAP_SWJ_NOJTAG(); 81 | 82 | /* USER CODE BEGIN MspInit 1 */ 83 | 84 | /* USER CODE END MspInit 1 */ 85 | } 86 | 87 | /** 88 | * @brief ADC MSP Initialization 89 | * This function configures the hardware resources used in this example 90 | * @param hadc: ADC handle pointer 91 | * @retval None 92 | */ 93 | void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc) 94 | { 95 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 96 | if(hadc->Instance==ADC1) 97 | { 98 | /* USER CODE BEGIN ADC1_MspInit 0 */ 99 | 100 | /* USER CODE END ADC1_MspInit 0 */ 101 | /* Peripheral clock enable */ 102 | __HAL_RCC_ADC1_CLK_ENABLE(); 103 | 104 | __HAL_RCC_GPIOA_CLK_ENABLE(); 105 | /**ADC1 GPIO Configuration 106 | PA0-WKUP ------> ADC1_IN0 107 | PA2 ------> ADC1_IN2 108 | */ 109 | GPIO_InitStruct.Pin = ADC1_VBUS_Pin|ADC1_IV_Pin; 110 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 111 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 112 | 113 | /* ADC1 DMA Init */ 114 | /* ADC1 Init */ 115 | hdma_adc1.Instance = DMA1_Channel1; 116 | hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; 117 | hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; 118 | hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; 119 | hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 120 | hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 121 | hdma_adc1.Init.Mode = DMA_CIRCULAR; 122 | hdma_adc1.Init.Priority = DMA_PRIORITY_LOW; 123 | if (HAL_DMA_Init(&hdma_adc1) != HAL_OK) 124 | { 125 | Error_Handler(); 126 | } 127 | 128 | __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1); 129 | 130 | /* ADC1 interrupt Init */ 131 | HAL_NVIC_SetPriority(ADC1_2_IRQn, 1, 0); 132 | HAL_NVIC_EnableIRQ(ADC1_2_IRQn); 133 | /* USER CODE BEGIN ADC1_MspInit 1 */ 134 | 135 | /* USER CODE END ADC1_MspInit 1 */ 136 | } 137 | else if(hadc->Instance==ADC2) 138 | { 139 | /* USER CODE BEGIN ADC2_MspInit 0 */ 140 | 141 | /* USER CODE END ADC2_MspInit 0 */ 142 | /* Peripheral clock enable */ 143 | __HAL_RCC_ADC2_CLK_ENABLE(); 144 | 145 | __HAL_RCC_GPIOA_CLK_ENABLE(); 146 | /**ADC2 GPIO Configuration 147 | PA1 ------> ADC2_IN1 148 | PA3 ------> ADC2_IN3 149 | */ 150 | GPIO_InitStruct.Pin = ADC2_IU_Pin|VFBK_2_Pin; 151 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 152 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 153 | 154 | /* ADC2 interrupt Init */ 155 | HAL_NVIC_SetPriority(ADC1_2_IRQn, 1, 0); 156 | HAL_NVIC_EnableIRQ(ADC1_2_IRQn); 157 | /* USER CODE BEGIN ADC2_MspInit 1 */ 158 | 159 | /* USER CODE END ADC2_MspInit 1 */ 160 | } 161 | 162 | } 163 | 164 | /** 165 | * @brief ADC MSP De-Initialization 166 | * This function freeze the hardware resources used in this example 167 | * @param hadc: ADC handle pointer 168 | * @retval None 169 | */ 170 | void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc) 171 | { 172 | if(hadc->Instance==ADC1) 173 | { 174 | /* USER CODE BEGIN ADC1_MspDeInit 0 */ 175 | 176 | /* USER CODE END ADC1_MspDeInit 0 */ 177 | /* Peripheral clock disable */ 178 | __HAL_RCC_ADC1_CLK_DISABLE(); 179 | 180 | /**ADC1 GPIO Configuration 181 | PA0-WKUP ------> ADC1_IN0 182 | PA2 ------> ADC1_IN2 183 | */ 184 | HAL_GPIO_DeInit(GPIOA, ADC1_VBUS_Pin|ADC1_IV_Pin); 185 | 186 | /* ADC1 DMA DeInit */ 187 | HAL_DMA_DeInit(hadc->DMA_Handle); 188 | 189 | /* ADC1 interrupt DeInit */ 190 | /* USER CODE BEGIN ADC1:ADC1_2_IRQn disable */ 191 | /** 192 | * Uncomment the line below to disable the "ADC1_2_IRQn" interrupt 193 | * Be aware, disabling shared interrupt may affect other IPs 194 | */ 195 | /* HAL_NVIC_DisableIRQ(ADC1_2_IRQn); */ 196 | /* USER CODE END ADC1:ADC1_2_IRQn disable */ 197 | 198 | /* USER CODE BEGIN ADC1_MspDeInit 1 */ 199 | 200 | /* USER CODE END ADC1_MspDeInit 1 */ 201 | } 202 | else if(hadc->Instance==ADC2) 203 | { 204 | /* USER CODE BEGIN ADC2_MspDeInit 0 */ 205 | 206 | /* USER CODE END ADC2_MspDeInit 0 */ 207 | /* Peripheral clock disable */ 208 | __HAL_RCC_ADC2_CLK_DISABLE(); 209 | 210 | /**ADC2 GPIO Configuration 211 | PA1 ------> ADC2_IN1 212 | PA3 ------> ADC2_IN3 213 | */ 214 | HAL_GPIO_DeInit(GPIOA, ADC2_IU_Pin|VFBK_2_Pin); 215 | 216 | /* ADC2 interrupt DeInit */ 217 | /* USER CODE BEGIN ADC2:ADC1_2_IRQn disable */ 218 | /** 219 | * Uncomment the line below to disable the "ADC1_2_IRQn" interrupt 220 | * Be aware, disabling shared interrupt may affect other IPs 221 | */ 222 | /* HAL_NVIC_DisableIRQ(ADC1_2_IRQn); */ 223 | /* USER CODE END ADC2:ADC1_2_IRQn disable */ 224 | 225 | /* USER CODE BEGIN ADC2_MspDeInit 1 */ 226 | 227 | /* USER CODE END ADC2_MspDeInit 1 */ 228 | } 229 | 230 | } 231 | 232 | /** 233 | * @brief SPI MSP Initialization 234 | * This function configures the hardware resources used in this example 235 | * @param hspi: SPI handle pointer 236 | * @retval None 237 | */ 238 | void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) 239 | { 240 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 241 | if(hspi->Instance==SPI1) 242 | { 243 | /* USER CODE BEGIN SPI1_MspInit 0 */ 244 | 245 | /* USER CODE END SPI1_MspInit 0 */ 246 | /* Peripheral clock enable */ 247 | __HAL_RCC_SPI1_CLK_ENABLE(); 248 | 249 | __HAL_RCC_GPIOA_CLK_ENABLE(); 250 | /**SPI1 GPIO Configuration 251 | PA5 ------> SPI1_SCK 252 | PA6 ------> SPI1_MISO 253 | PA7 ------> SPI1_MOSI 254 | */ 255 | GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7; 256 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 257 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 258 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 259 | 260 | GPIO_InitStruct.Pin = GPIO_PIN_6; 261 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 262 | GPIO_InitStruct.Pull = GPIO_PULLUP; 263 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 264 | 265 | /* SPI1 interrupt Init */ 266 | HAL_NVIC_SetPriority(SPI1_IRQn, 2, 0); 267 | HAL_NVIC_EnableIRQ(SPI1_IRQn); 268 | /* USER CODE BEGIN SPI1_MspInit 1 */ 269 | 270 | /* USER CODE END SPI1_MspInit 1 */ 271 | } 272 | 273 | } 274 | 275 | /** 276 | * @brief SPI MSP De-Initialization 277 | * This function freeze the hardware resources used in this example 278 | * @param hspi: SPI handle pointer 279 | * @retval None 280 | */ 281 | void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) 282 | { 283 | if(hspi->Instance==SPI1) 284 | { 285 | /* USER CODE BEGIN SPI1_MspDeInit 0 */ 286 | 287 | /* USER CODE END SPI1_MspDeInit 0 */ 288 | /* Peripheral clock disable */ 289 | __HAL_RCC_SPI1_CLK_DISABLE(); 290 | 291 | /**SPI1 GPIO Configuration 292 | PA5 ------> SPI1_SCK 293 | PA6 ------> SPI1_MISO 294 | PA7 ------> SPI1_MOSI 295 | */ 296 | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7); 297 | 298 | /* SPI1 interrupt DeInit */ 299 | HAL_NVIC_DisableIRQ(SPI1_IRQn); 300 | /* USER CODE BEGIN SPI1_MspDeInit 1 */ 301 | 302 | /* USER CODE END SPI1_MspDeInit 1 */ 303 | } 304 | 305 | } 306 | 307 | /** 308 | * @brief TIM_Base MSP Initialization 309 | * This function configures the hardware resources used in this example 310 | * @param htim_base: TIM_Base handle pointer 311 | * @retval None 312 | */ 313 | void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base) 314 | { 315 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 316 | if(htim_base->Instance==TIM1) 317 | { 318 | /* USER CODE BEGIN TIM1_MspInit 0 */ 319 | 320 | /* USER CODE END TIM1_MspInit 0 */ 321 | /* Peripheral clock enable */ 322 | __HAL_RCC_TIM1_CLK_ENABLE(); 323 | 324 | __HAL_RCC_GPIOB_CLK_ENABLE(); 325 | /**TIM1 GPIO Configuration 326 | PB12 ------> TIM1_BKIN 327 | */ 328 | GPIO_InitStruct.Pin = GPIO_PIN_12; 329 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 330 | GPIO_InitStruct.Pull = GPIO_NOPULL; 331 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 332 | 333 | /* TIM1 interrupt Init */ 334 | HAL_NVIC_SetPriority(TIM1_BRK_IRQn, 0, 0); 335 | HAL_NVIC_EnableIRQ(TIM1_BRK_IRQn); 336 | /* USER CODE BEGIN TIM1_MspInit 1 */ 337 | 338 | /* USER CODE END TIM1_MspInit 1 */ 339 | } 340 | 341 | } 342 | 343 | /** 344 | * @brief TIM_Encoder MSP Initialization 345 | * This function configures the hardware resources used in this example 346 | * @param htim_encoder: TIM_Encoder handle pointer 347 | * @retval None 348 | */ 349 | void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* htim_encoder) 350 | { 351 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 352 | if(htim_encoder->Instance==TIM2) 353 | { 354 | /* USER CODE BEGIN TIM2_MspInit 0 */ 355 | 356 | /* USER CODE END TIM2_MspInit 0 */ 357 | /* Peripheral clock enable */ 358 | __HAL_RCC_TIM2_CLK_ENABLE(); 359 | 360 | __HAL_RCC_GPIOA_CLK_ENABLE(); 361 | __HAL_RCC_GPIOB_CLK_ENABLE(); 362 | /**TIM2 GPIO Configuration 363 | PA15 ------> TIM2_CH1 364 | PB3 ------> TIM2_CH2 365 | */ 366 | GPIO_InitStruct.Pin = GPIO_PIN_15; 367 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 368 | GPIO_InitStruct.Pull = GPIO_PULLUP; 369 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 370 | 371 | GPIO_InitStruct.Pin = GPIO_PIN_3; 372 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 373 | GPIO_InitStruct.Pull = GPIO_PULLUP; 374 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 375 | 376 | __HAL_AFIO_REMAP_TIM2_PARTIAL_1(); 377 | 378 | /* TIM2 interrupt Init */ 379 | HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0); 380 | HAL_NVIC_EnableIRQ(TIM2_IRQn); 381 | /* USER CODE BEGIN TIM2_MspInit 1 */ 382 | 383 | /* USER CODE END TIM2_MspInit 1 */ 384 | } 385 | 386 | } 387 | 388 | void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim) 389 | { 390 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 391 | if(htim->Instance==TIM1) 392 | { 393 | /* USER CODE BEGIN TIM1_MspPostInit 0 */ 394 | 395 | /* USER CODE END TIM1_MspPostInit 0 */ 396 | 397 | __HAL_RCC_GPIOB_CLK_ENABLE(); 398 | __HAL_RCC_GPIOA_CLK_ENABLE(); 399 | /**TIM1 GPIO Configuration 400 | PB13 ------> TIM1_CH1N 401 | PB14 ------> TIM1_CH2N 402 | PB15 ------> TIM1_CH3N 403 | PA8 ------> TIM1_CH1 404 | PA9 ------> TIM1_CH2 405 | PA10 ------> TIM1_CH3 406 | */ 407 | GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15; 408 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 409 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 410 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 411 | 412 | GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10; 413 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 414 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 415 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 416 | 417 | /* USER CODE BEGIN TIM1_MspPostInit 1 */ 418 | 419 | /* USER CODE END TIM1_MspPostInit 1 */ 420 | } 421 | 422 | } 423 | /** 424 | * @brief TIM_Base MSP De-Initialization 425 | * This function freeze the hardware resources used in this example 426 | * @param htim_base: TIM_Base handle pointer 427 | * @retval None 428 | */ 429 | void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base) 430 | { 431 | if(htim_base->Instance==TIM1) 432 | { 433 | /* USER CODE BEGIN TIM1_MspDeInit 0 */ 434 | 435 | /* USER CODE END TIM1_MspDeInit 0 */ 436 | /* Peripheral clock disable */ 437 | __HAL_RCC_TIM1_CLK_DISABLE(); 438 | 439 | /**TIM1 GPIO Configuration 440 | PB12 ------> TIM1_BKIN 441 | PB13 ------> TIM1_CH1N 442 | PB14 ------> TIM1_CH2N 443 | PB15 ------> TIM1_CH3N 444 | PA8 ------> TIM1_CH1 445 | PA9 ------> TIM1_CH2 446 | PA10 ------> TIM1_CH3 447 | */ 448 | HAL_GPIO_DeInit(GPIOB, GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15); 449 | 450 | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10); 451 | 452 | /* TIM1 interrupt DeInit */ 453 | HAL_NVIC_DisableIRQ(TIM1_BRK_IRQn); 454 | /* USER CODE BEGIN TIM1_MspDeInit 1 */ 455 | 456 | /* USER CODE END TIM1_MspDeInit 1 */ 457 | } 458 | 459 | } 460 | 461 | /** 462 | * @brief TIM_Encoder MSP De-Initialization 463 | * This function freeze the hardware resources used in this example 464 | * @param htim_encoder: TIM_Encoder handle pointer 465 | * @retval None 466 | */ 467 | void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* htim_encoder) 468 | { 469 | if(htim_encoder->Instance==TIM2) 470 | { 471 | /* USER CODE BEGIN TIM2_MspDeInit 0 */ 472 | 473 | /* USER CODE END TIM2_MspDeInit 0 */ 474 | /* Peripheral clock disable */ 475 | __HAL_RCC_TIM2_CLK_DISABLE(); 476 | 477 | /**TIM2 GPIO Configuration 478 | PA15 ------> TIM2_CH1 479 | PB3 ------> TIM2_CH2 480 | */ 481 | HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15); 482 | 483 | HAL_GPIO_DeInit(GPIOB, GPIO_PIN_3); 484 | 485 | /* TIM2 interrupt DeInit */ 486 | HAL_NVIC_DisableIRQ(TIM2_IRQn); 487 | /* USER CODE BEGIN TIM2_MspDeInit 1 */ 488 | 489 | /* USER CODE END TIM2_MspDeInit 1 */ 490 | } 491 | 492 | } 493 | 494 | /** 495 | * @brief UART MSP Initialization 496 | * This function configures the hardware resources used in this example 497 | * @param huart: UART handle pointer 498 | * @retval None 499 | */ 500 | void HAL_UART_MspInit(UART_HandleTypeDef* huart) 501 | { 502 | GPIO_InitTypeDef GPIO_InitStruct = {0}; 503 | if(huart->Instance==USART1) 504 | { 505 | /* USER CODE BEGIN USART1_MspInit 0 */ 506 | 507 | /* USER CODE END USART1_MspInit 0 */ 508 | /* Peripheral clock enable */ 509 | __HAL_RCC_USART1_CLK_ENABLE(); 510 | 511 | __HAL_RCC_GPIOB_CLK_ENABLE(); 512 | /**USART1 GPIO Configuration 513 | PB6 ------> USART1_TX 514 | PB7 ------> USART1_RX 515 | */ 516 | GPIO_InitStruct.Pin = GPIO_PIN_6; 517 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 518 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 519 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 520 | 521 | GPIO_InitStruct.Pin = GPIO_PIN_7; 522 | GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 523 | GPIO_InitStruct.Pull = GPIO_NOPULL; 524 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 525 | 526 | __HAL_AFIO_REMAP_USART1_ENABLE(); 527 | 528 | /* USER CODE BEGIN USART1_MspInit 1 */ 529 | 530 | /* USER CODE END USART1_MspInit 1 */ 531 | } 532 | 533 | } 534 | 535 | /** 536 | * @brief UART MSP De-Initialization 537 | * This function freeze the hardware resources used in this example 538 | * @param huart: UART handle pointer 539 | * @retval None 540 | */ 541 | void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) 542 | { 543 | if(huart->Instance==USART1) 544 | { 545 | /* USER CODE BEGIN USART1_MspDeInit 0 */ 546 | 547 | /* USER CODE END USART1_MspDeInit 0 */ 548 | /* Peripheral clock disable */ 549 | __HAL_RCC_USART1_CLK_DISABLE(); 550 | 551 | /**USART1 GPIO Configuration 552 | PB6 ------> USART1_TX 553 | PB7 ------> USART1_RX 554 | */ 555 | HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7); 556 | 557 | /* USER CODE BEGIN USART1_MspDeInit 1 */ 558 | 559 | /* USER CODE END USART1_MspDeInit 1 */ 560 | } 561 | 562 | } 563 | 564 | /* USER CODE BEGIN 1 */ 565 | 566 | /* USER CODE END 1 */ 567 | 568 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 569 | -------------------------------------------------------------------------------- /Src/stm32f1xx_it.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/Src/stm32f1xx_it.c -------------------------------------------------------------------------------- /Src/svpwm.c: -------------------------------------------------------------------------------- 1 | 2 | 3 | #include "svpwm.h" 4 | #include "math.h" 5 | 6 | #define PI 3.1416 7 | 8 | BLDC_SVPWMTypeDef svpwm1; 9 | 10 | 11 | void Clark_Transformation(float* In_a, float* In_b, float* In_c, float* Out_alpha, float* Out_beta) 12 | { 13 | (*Out_alpha) = (*In_a)*0.6667 - (*In_b)*0.3333 - (*In_c)*0.3333; 14 | (*Out_beta) = ((*In_b) - (*In_c)) * 0.5774; 15 | } 16 | void InvClark_Transformation(float* In_alpha, float* In_beta, float* Out_a, float* Out_b, float* Out_c) 17 | { 18 | (*Out_a) = (*In_alpha); 19 | (*Out_b) = -0.5 * (*In_alpha) + 0.8660 * (*In_beta); 20 | (*Out_c) = -0.5 * (*In_alpha) - 0.8660 * (*In_beta); 21 | } 22 | void sectorJudge(BLDC_SVPWMTypeDef* svpwm) 23 | { 24 | svpwm->b_VrefAngle = atan2(svpwm->b_VrefBeta, svpwm->b_VrefAlpha); 25 | 26 | if(( svpwm->b_VrefAngle >= 0.0) && ( svpwm->b_VrefAngle < PI/3.0)) 27 | { 28 | svpwm->b_sector = 1; 29 | } 30 | else if(( svpwm->b_VrefAngle >= PI/3.0) && ( svpwm->b_VrefAngle < 2.0*PI/3.0)) 31 | { 32 | svpwm->b_sector = 2; 33 | } 34 | else if(( svpwm->b_VrefAngle >= 2.0*PI/3.0) && ( svpwm->b_VrefAngle < PI)) 35 | { 36 | svpwm->b_sector = 3; 37 | } 38 | else if(( svpwm->b_VrefAngle >= -PI/3.0) && ( svpwm->b_VrefAngle < 0.0)) 39 | { 40 | svpwm->b_sector = 6; 41 | } 42 | else if(( svpwm->b_VrefAngle >= -2.0*PI/3.0) && ( svpwm->b_VrefAngle < -PI/3.0)) 43 | { 44 | svpwm->b_sector = 5; 45 | } 46 | else if(( svpwm->b_VrefAngle >= -PI) && ( svpwm->b_VrefAngle < -2.0*PI/3.0)) 47 | { 48 | svpwm->b_sector = 4; 49 | } 50 | else 51 | { 52 | while(1); //computation error 53 | } 54 | } 55 | int32_t sectorJudge_v2(BLDC_SVPWMTypeDef* svpwm) 56 | { 57 | float U1,U2,U3; 58 | int32_t A,B,C,N,b_sector1; 59 | 60 | U1 = svpwm->b_VrefBeta; 61 | U2 = 0.8660*svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.5; 62 | U3 = -0.8660*svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.5; 63 | 64 | if(U1>0) { 65 | A=1; 66 | } 67 | else { 68 | A=0; 69 | } 70 | if(U2>0) { 71 | B=1; 72 | } 73 | else { 74 | B=0; 75 | } 76 | if(U3>0) { 77 | C=1; 78 | } 79 | else { 80 | C=0; 81 | } 82 | 83 | N = 4*C +2*B +A; 84 | if( N==3) { 85 | b_sector1 = 1; 86 | } 87 | else if( N==1){ 88 | b_sector1 = 2; 89 | } 90 | else if( N==5) { 91 | b_sector1 = 3; 92 | } 93 | else if( N==4) { 94 | b_sector1 = 4; 95 | } 96 | else if (N==6) { 97 | b_sector1 = 5; 98 | } 99 | else if( N==2) { 100 | b_sector1 = 6; 101 | } 102 | return b_sector1; 103 | } 104 | void SpaceVectorUpdate(BLDC_SVPWMTypeDef* svpwm) 105 | { 106 | switch(svpwm->b_sector) 107 | { 108 | case 1: 109 | svpwm->a_VectorOut[0] = 4; 110 | svpwm->a_VectorOut[1] = 6; 111 | svpwm->a_VectorOut[2] = 0; 112 | 113 | svpwm->a_VectorOutDuty[0] = svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.57735; 114 | svpwm->a_VectorOutDuty[1] = svpwm->b_VrefBeta*1.1547; 115 | svpwm->a_VectorOutDuty[2] = 0; 116 | break; 117 | case 2: 118 | svpwm->a_VectorOut[0] = 2; 119 | svpwm->a_VectorOut[1] = 6; 120 | svpwm->a_VectorOut[2] = 0; 121 | 122 | svpwm->a_VectorOutDuty[0] = -svpwm->b_VrefAlpha + svpwm->b_VrefBeta*0.57735; 123 | svpwm->a_VectorOutDuty[1] = svpwm->b_VrefAlpha + svpwm->b_VrefBeta*0.57735; 124 | svpwm->a_VectorOutDuty[2] = 0; 125 | break; 126 | case 3: 127 | svpwm->a_VectorOut[0] = 2; 128 | svpwm->a_VectorOut[1] = 3; 129 | svpwm->a_VectorOut[2] = 0; 130 | 131 | svpwm->a_VectorOutDuty[0] = svpwm->b_VrefBeta*1.1547; 132 | svpwm->a_VectorOutDuty[1] = -svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.57735; 133 | svpwm->a_VectorOutDuty[2] = 0; 134 | break; 135 | case 4: 136 | svpwm->a_VectorOut[0] = 1; 137 | svpwm->a_VectorOut[1] = 3; 138 | svpwm->a_VectorOut[2] = 0; 139 | 140 | svpwm->a_VectorOutDuty[0] = -svpwm->b_VrefBeta*1.1547; 141 | svpwm->a_VectorOutDuty[1] = -svpwm->b_VrefAlpha + svpwm->b_VrefBeta*0.57735; 142 | svpwm->a_VectorOutDuty[2] = 0; 143 | break; 144 | case 5: 145 | 146 | svpwm->a_VectorOut[0] = 1; 147 | svpwm->a_VectorOut[1] = 5; 148 | svpwm->a_VectorOut[2] = 0; 149 | 150 | svpwm->a_VectorOutDuty[0] = -svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.57735; 151 | svpwm->a_VectorOutDuty[1] = svpwm->b_VrefAlpha - svpwm->b_VrefBeta*0.57735; 152 | svpwm->a_VectorOutDuty[2] = 0; 153 | break; 154 | case 6: 155 | 156 | svpwm->a_VectorOut[0] = 4; 157 | svpwm->a_VectorOut[1] = 5; 158 | svpwm->a_VectorOut[2] = 0; 159 | 160 | svpwm->a_VectorOutDuty[0] = svpwm->b_VrefAlpha + svpwm->b_VrefBeta*0.57735; 161 | svpwm->a_VectorOutDuty[1] = -svpwm->b_VrefBeta*1.1547; 162 | svpwm->a_VectorOutDuty[2] = 1.0- svpwm->a_VectorOutDuty[0] - svpwm->a_VectorOutDuty[1]; 163 | break; 164 | default: 165 | break; 166 | } 167 | 168 | svpwm->a_VectorOutDutyCmpr[0] = svpwm->a_VectorOutDuty[2] * 14399/2.0; 169 | svpwm->a_VectorOutDutyCmpr[1] = svpwm->a_VectorOutDuty[0] * 14399/2.0; 170 | svpwm->a_VectorOutDutyCmpr[2] = svpwm->a_VectorOutDuty[1] * 14399; 171 | svpwm->a_VectorOutDutyCmpr[3] = svpwm->a_VectorOutDuty[0] * 14399/2.0; 172 | 173 | svpwm->a_VectorOutDutyCmpr[1] += svpwm->a_VectorOutDutyCmpr[0]; 174 | svpwm->a_VectorOutDutyCmpr[2] += svpwm->a_VectorOutDutyCmpr[1]; 175 | svpwm->a_VectorOutDutyCmpr[3] += svpwm->a_VectorOutDutyCmpr[2]; 176 | 177 | svpwm->OutA = svpwm->a_VectorOutDutyCmpr[1]/15000; 178 | svpwm->OutB = svpwm->a_VectorOutDutyCmpr[2]/15000; 179 | svpwm->OutC = svpwm->a_VectorOutDutyCmpr[3]/15000; 180 | } 181 | void Periodic() 182 | { 183 | 184 | svpwm1.b_VrefA = 0.8660 * 1000 * cos(6.2832*svpwm1.b_TIM1PrdCnt/1000.0); 185 | svpwm1.b_VrefB = 0.8660 * 1000 * cos(6.2832*svpwm1.b_TIM1PrdCnt/1000.0 - 6.2832/3.0); 186 | svpwm1.b_VrefC = 0.8660 * 1000 * cos(6.2832*svpwm1.b_TIM1PrdCnt/1000.0 + 6.2832/3.0); 187 | 188 | // 0 <= Vm <=1 189 | // to avoid over modulation, scale down the Vref 190 | //svpwm1.b_VrefA *= 0.8660; 191 | //svpwm1.b_VrefB *= 0.8660; 192 | //svpwm1.b_VrefC *= 0.8660; 193 | 194 | Clark_Transformation(&svpwm1.b_VrefA, &svpwm1.b_VrefB, &svpwm1.b_VrefC, &svpwm1.b_VrefAlpha, &svpwm1.b_VrefBeta); 195 | sectorJudge(&svpwm1); 196 | SpaceVectorUpdate(&svpwm1); 197 | 198 | //TIM1CmprLoad(); 199 | 200 | //SVPWM1_SpaceVectorDRV(svpwm1.a_VectorOut[2]); 201 | 202 | svpwm1.b_TIM1PrdCnt++; 203 | if(svpwm1.b_TIM1PrdCnt==1000) 204 | { 205 | svpwm1.b_TIM1PrdCnt = 0; 206 | } 207 | 208 | } 209 | 210 | void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) 211 | { 212 | if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) 213 | { 214 | //SVPWM1_SpaceVectorDRV(svpwm1.a_VectorOut[0]); 215 | } 216 | if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2) 217 | { 218 | //SVPWM1_SpaceVectorDRV(svpwm1.a_VectorOut[1]); 219 | } 220 | if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_3) 221 | { 222 | //SVPWM1_SpaceVectorDRV(svpwm1.a_VectorOut[0]); 223 | } 224 | if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_4) 225 | { 226 | //SVPWM1_SpaceVectorDRV(svpwm1.a_VectorOut[2]); 227 | } 228 | 229 | } 230 | -------------------------------------------------------------------------------- /Src/system_stm32f1xx.c: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32f1xx.c 4 | * @author MCD Application Team 5 | * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File. 6 | * 7 | * 1. This file provides two functions and one global variable to be called from 8 | * user application: 9 | * - SystemInit(): Setups the system clock (System clock source, PLL Multiplier 10 | * factors, AHB/APBx prescalers and Flash settings). 11 | * This function is called at startup just after reset and 12 | * before branch to main program. This call is made inside 13 | * the "startup_stm32f1xx_xx.s" file. 14 | * 15 | * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used 16 | * by the user application to setup the SysTick 17 | * timer or configure other parameters. 18 | * 19 | * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must 20 | * be called whenever the core clock is changed 21 | * during program execution. 22 | * 23 | * 2. After each device reset the HSI (8 MHz) is used as system clock source. 24 | * Then SystemInit() function is called, in "startup_stm32f1xx_xx.s" file, to 25 | * configure the system clock before to branch to main program. 26 | * 27 | * 4. The default value of HSE crystal is set to 8 MHz (or 25 MHz, depending on 28 | * the product used), refer to "HSE_VALUE". 29 | * When HSE is used as system clock source, directly or through PLL, and you 30 | * are using different crystal you have to adapt the HSE value to your own 31 | * configuration. 32 | * 33 | ****************************************************************************** 34 | * @attention 35 | * 36 | *

© Copyright (c) 2017 STMicroelectronics. 37 | * All rights reserved.

38 | * 39 | * This software component is licensed by ST under BSD 3-Clause license, 40 | * the "License"; You may not use this file except in compliance with the 41 | * License. You may obtain a copy of the License at: 42 | * opensource.org/licenses/BSD-3-Clause 43 | * 44 | ****************************************************************************** 45 | */ 46 | 47 | /** @addtogroup CMSIS 48 | * @{ 49 | */ 50 | 51 | /** @addtogroup stm32f1xx_system 52 | * @{ 53 | */ 54 | 55 | /** @addtogroup STM32F1xx_System_Private_Includes 56 | * @{ 57 | */ 58 | 59 | #include "stm32f1xx.h" 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /** @addtogroup STM32F1xx_System_Private_TypesDefinitions 66 | * @{ 67 | */ 68 | 69 | /** 70 | * @} 71 | */ 72 | 73 | /** @addtogroup STM32F1xx_System_Private_Defines 74 | * @{ 75 | */ 76 | 77 | #if !defined (HSE_VALUE) 78 | #define HSE_VALUE 8000000U /*!< Default value of the External oscillator in Hz. 79 | This value can be provided and adapted by the user application. */ 80 | #endif /* HSE_VALUE */ 81 | 82 | #if !defined (HSI_VALUE) 83 | #define HSI_VALUE 8000000U /*!< Default value of the Internal oscillator in Hz. 84 | This value can be provided and adapted by the user application. */ 85 | #endif /* HSI_VALUE */ 86 | 87 | /*!< Uncomment the following line if you need to use external SRAM */ 88 | #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) 89 | /* #define DATA_IN_ExtSRAM */ 90 | #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ 91 | 92 | /*!< Uncomment the following line if you need to relocate your vector Table in 93 | Internal SRAM. */ 94 | /* #define VECT_TAB_SRAM */ 95 | #define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. 96 | This value must be a multiple of 0x200. */ 97 | 98 | 99 | /** 100 | * @} 101 | */ 102 | 103 | /** @addtogroup STM32F1xx_System_Private_Macros 104 | * @{ 105 | */ 106 | 107 | /** 108 | * @} 109 | */ 110 | 111 | /** @addtogroup STM32F1xx_System_Private_Variables 112 | * @{ 113 | */ 114 | 115 | /* This variable is updated in three ways: 116 | 1) by calling CMSIS function SystemCoreClockUpdate() 117 | 2) by calling HAL API function HAL_RCC_GetHCLKFreq() 118 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 119 | Note: If you use this function to configure the system clock; then there 120 | is no need to call the 2 first functions listed above, since SystemCoreClock 121 | variable is updated automatically. 122 | */ 123 | uint32_t SystemCoreClock = 16000000; 124 | const uint8_t AHBPrescTable[16U] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; 125 | const uint8_t APBPrescTable[8U] = {0, 0, 0, 0, 1, 2, 3, 4}; 126 | 127 | /** 128 | * @} 129 | */ 130 | 131 | /** @addtogroup STM32F1xx_System_Private_FunctionPrototypes 132 | * @{ 133 | */ 134 | 135 | #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) 136 | #ifdef DATA_IN_ExtSRAM 137 | static void SystemInit_ExtMemCtl(void); 138 | #endif /* DATA_IN_ExtSRAM */ 139 | #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ 140 | 141 | /** 142 | * @} 143 | */ 144 | 145 | /** @addtogroup STM32F1xx_System_Private_Functions 146 | * @{ 147 | */ 148 | 149 | /** 150 | * @brief Setup the microcontroller system 151 | * Initialize the Embedded Flash Interface, the PLL and update the 152 | * SystemCoreClock variable. 153 | * @note This function should be used only after reset. 154 | * @param None 155 | * @retval None 156 | */ 157 | void SystemInit (void) 158 | { 159 | /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ 160 | /* Set HSION bit */ 161 | RCC->CR |= 0x00000001U; 162 | 163 | /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MCO bits */ 164 | #if !defined(STM32F105xC) && !defined(STM32F107xC) 165 | RCC->CFGR &= 0xF8FF0000U; 166 | #else 167 | RCC->CFGR &= 0xF0FF0000U; 168 | #endif /* STM32F105xC */ 169 | 170 | /* Reset HSEON, CSSON and PLLON bits */ 171 | RCC->CR &= 0xFEF6FFFFU; 172 | 173 | /* Reset HSEBYP bit */ 174 | RCC->CR &= 0xFFFBFFFFU; 175 | 176 | /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */ 177 | RCC->CFGR &= 0xFF80FFFFU; 178 | 179 | #if defined(STM32F105xC) || defined(STM32F107xC) 180 | /* Reset PLL2ON and PLL3ON bits */ 181 | RCC->CR &= 0xEBFFFFFFU; 182 | 183 | /* Disable all interrupts and clear pending bits */ 184 | RCC->CIR = 0x00FF0000U; 185 | 186 | /* Reset CFGR2 register */ 187 | RCC->CFGR2 = 0x00000000U; 188 | #elif defined(STM32F100xB) || defined(STM32F100xE) 189 | /* Disable all interrupts and clear pending bits */ 190 | RCC->CIR = 0x009F0000U; 191 | 192 | /* Reset CFGR2 register */ 193 | RCC->CFGR2 = 0x00000000U; 194 | #else 195 | /* Disable all interrupts and clear pending bits */ 196 | RCC->CIR = 0x009F0000U; 197 | #endif /* STM32F105xC */ 198 | 199 | #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) 200 | #ifdef DATA_IN_ExtSRAM 201 | SystemInit_ExtMemCtl(); 202 | #endif /* DATA_IN_ExtSRAM */ 203 | #endif 204 | 205 | #ifdef VECT_TAB_SRAM 206 | SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */ 207 | #else 208 | SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */ 209 | #endif 210 | } 211 | 212 | /** 213 | * @brief Update SystemCoreClock variable according to Clock Register Values. 214 | * The SystemCoreClock variable contains the core clock (HCLK), it can 215 | * be used by the user application to setup the SysTick timer or configure 216 | * other parameters. 217 | * 218 | * @note Each time the core clock (HCLK) changes, this function must be called 219 | * to update SystemCoreClock variable value. Otherwise, any configuration 220 | * based on this variable will be incorrect. 221 | * 222 | * @note - The system frequency computed by this function is not the real 223 | * frequency in the chip. It is calculated based on the predefined 224 | * constant and the selected clock source: 225 | * 226 | * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) 227 | * 228 | * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) 229 | * 230 | * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) 231 | * or HSI_VALUE(*) multiplied by the PLL factors. 232 | * 233 | * (*) HSI_VALUE is a constant defined in stm32f1xx.h file (default value 234 | * 8 MHz) but the real value may vary depending on the variations 235 | * in voltage and temperature. 236 | * 237 | * (**) HSE_VALUE is a constant defined in stm32f1xx.h file (default value 238 | * 8 MHz or 25 MHz, depending on the product used), user has to ensure 239 | * that HSE_VALUE is same as the real frequency of the crystal used. 240 | * Otherwise, this function may have wrong result. 241 | * 242 | * - The result of this function could be not correct when using fractional 243 | * value for HSE crystal. 244 | * @param None 245 | * @retval None 246 | */ 247 | void SystemCoreClockUpdate (void) 248 | { 249 | uint32_t tmp = 0U, pllmull = 0U, pllsource = 0U; 250 | 251 | #if defined(STM32F105xC) || defined(STM32F107xC) 252 | uint32_t prediv1source = 0U, prediv1factor = 0U, prediv2factor = 0U, pll2mull = 0U; 253 | #endif /* STM32F105xC */ 254 | 255 | #if defined(STM32F100xB) || defined(STM32F100xE) 256 | uint32_t prediv1factor = 0U; 257 | #endif /* STM32F100xB or STM32F100xE */ 258 | 259 | /* Get SYSCLK source -------------------------------------------------------*/ 260 | tmp = RCC->CFGR & RCC_CFGR_SWS; 261 | 262 | switch (tmp) 263 | { 264 | case 0x00U: /* HSI used as system clock */ 265 | SystemCoreClock = HSI_VALUE; 266 | break; 267 | case 0x04U: /* HSE used as system clock */ 268 | SystemCoreClock = HSE_VALUE; 269 | break; 270 | case 0x08U: /* PLL used as system clock */ 271 | 272 | /* Get PLL clock source and multiplication factor ----------------------*/ 273 | pllmull = RCC->CFGR & RCC_CFGR_PLLMULL; 274 | pllsource = RCC->CFGR & RCC_CFGR_PLLSRC; 275 | 276 | #if !defined(STM32F105xC) && !defined(STM32F107xC) 277 | pllmull = ( pllmull >> 18U) + 2U; 278 | 279 | if (pllsource == 0x00U) 280 | { 281 | /* HSI oscillator clock divided by 2 selected as PLL clock entry */ 282 | SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; 283 | } 284 | else 285 | { 286 | #if defined(STM32F100xB) || defined(STM32F100xE) 287 | prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; 288 | /* HSE oscillator clock selected as PREDIV1 clock entry */ 289 | SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; 290 | #else 291 | /* HSE selected as PLL clock entry */ 292 | if ((RCC->CFGR & RCC_CFGR_PLLXTPRE) != (uint32_t)RESET) 293 | {/* HSE oscillator clock divided by 2 */ 294 | SystemCoreClock = (HSE_VALUE >> 1U) * pllmull; 295 | } 296 | else 297 | { 298 | SystemCoreClock = HSE_VALUE * pllmull; 299 | } 300 | #endif 301 | } 302 | #else 303 | pllmull = pllmull >> 18U; 304 | 305 | if (pllmull != 0x0DU) 306 | { 307 | pllmull += 2U; 308 | } 309 | else 310 | { /* PLL multiplication factor = PLL input clock * 6.5 */ 311 | pllmull = 13U / 2U; 312 | } 313 | 314 | if (pllsource == 0x00U) 315 | { 316 | /* HSI oscillator clock divided by 2 selected as PLL clock entry */ 317 | SystemCoreClock = (HSI_VALUE >> 1U) * pllmull; 318 | } 319 | else 320 | {/* PREDIV1 selected as PLL clock entry */ 321 | 322 | /* Get PREDIV1 clock source and division factor */ 323 | prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; 324 | prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1U; 325 | 326 | if (prediv1source == 0U) 327 | { 328 | /* HSE oscillator clock selected as PREDIV1 clock entry */ 329 | SystemCoreClock = (HSE_VALUE / prediv1factor) * pllmull; 330 | } 331 | else 332 | {/* PLL2 clock selected as PREDIV1 clock entry */ 333 | 334 | /* Get PREDIV2 division factor and PLL2 multiplication factor */ 335 | prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4U) + 1U; 336 | pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8U) + 2U; 337 | SystemCoreClock = (((HSE_VALUE / prediv2factor) * pll2mull) / prediv1factor) * pllmull; 338 | } 339 | } 340 | #endif /* STM32F105xC */ 341 | break; 342 | 343 | default: 344 | SystemCoreClock = HSI_VALUE; 345 | break; 346 | } 347 | 348 | /* Compute HCLK clock frequency ----------------*/ 349 | /* Get HCLK prescaler */ 350 | tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)]; 351 | /* HCLK clock frequency */ 352 | SystemCoreClock >>= tmp; 353 | } 354 | 355 | #if defined(STM32F100xE) || defined(STM32F101xE) || defined(STM32F101xG) || defined(STM32F103xE) || defined(STM32F103xG) 356 | /** 357 | * @brief Setup the external memory controller. Called in startup_stm32f1xx.s 358 | * before jump to __main 359 | * @param None 360 | * @retval None 361 | */ 362 | #ifdef DATA_IN_ExtSRAM 363 | /** 364 | * @brief Setup the external memory controller. 365 | * Called in startup_stm32f1xx_xx.s/.c before jump to main. 366 | * This function configures the external SRAM mounted on STM3210E-EVAL 367 | * board (STM32 High density devices). This SRAM will be used as program 368 | * data memory (including heap and stack). 369 | * @param None 370 | * @retval None 371 | */ 372 | void SystemInit_ExtMemCtl(void) 373 | { 374 | __IO uint32_t tmpreg; 375 | /*!< FSMC Bank1 NOR/SRAM3 is used for the STM3210E-EVAL, if another Bank is 376 | required, then adjust the Register Addresses */ 377 | 378 | /* Enable FSMC clock */ 379 | RCC->AHBENR = 0x00000114U; 380 | 381 | /* Delay after an RCC peripheral clock enabling */ 382 | tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_FSMCEN); 383 | 384 | /* Enable GPIOD, GPIOE, GPIOF and GPIOG clocks */ 385 | RCC->APB2ENR = 0x000001E0U; 386 | 387 | /* Delay after an RCC peripheral clock enabling */ 388 | tmpreg = READ_BIT(RCC->APB2ENR, RCC_APB2ENR_IOPDEN); 389 | 390 | (void)(tmpreg); 391 | 392 | /* --------------- SRAM Data lines, NOE and NWE configuration ---------------*/ 393 | /*---------------- SRAM Address lines configuration -------------------------*/ 394 | /*---------------- NOE and NWE configuration --------------------------------*/ 395 | /*---------------- NE3 configuration ----------------------------------------*/ 396 | /*---------------- NBL0, NBL1 configuration ---------------------------------*/ 397 | 398 | GPIOD->CRL = 0x44BB44BBU; 399 | GPIOD->CRH = 0xBBBBBBBBU; 400 | 401 | GPIOE->CRL = 0xB44444BBU; 402 | GPIOE->CRH = 0xBBBBBBBBU; 403 | 404 | GPIOF->CRL = 0x44BBBBBBU; 405 | GPIOF->CRH = 0xBBBB4444U; 406 | 407 | GPIOG->CRL = 0x44BBBBBBU; 408 | GPIOG->CRH = 0x444B4B44U; 409 | 410 | /*---------------- FSMC Configuration ---------------------------------------*/ 411 | /*---------------- Enable FSMC Bank1_SRAM Bank ------------------------------*/ 412 | 413 | FSMC_Bank1->BTCR[4U] = 0x00001091U; 414 | FSMC_Bank1->BTCR[5U] = 0x00110212U; 415 | } 416 | #endif /* DATA_IN_ExtSRAM */ 417 | #endif /* STM32F100xE || STM32F101xE || STM32F101xG || STM32F103xE || STM32F103xG */ 418 | 419 | /** 420 | * @} 421 | */ 422 | 423 | /** 424 | * @} 425 | */ 426 | 427 | /** 428 | * @} 429 | */ 430 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 431 | -------------------------------------------------------------------------------- /fotos/IMG_1831.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/fotos/IMG_1831.jpg -------------------------------------------------------------------------------- /fotos/IMG_1909.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/fotos/IMG_1909.jpg -------------------------------------------------------------------------------- /fotos/IMG_1910.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/fotos/IMG_1910.jpg -------------------------------------------------------------------------------- /fotos/IMG_1911.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/fotos/IMG_1911.jpg -------------------------------------------------------------------------------- /fotos/IMG_1912.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alvaroserdotte/STM32-SERVO-FOC-PMSM-with-Encoder/c9e5d02d93a3261262d13e9017233b495fe6b9f3/fotos/IMG_1912.jpg --------------------------------------------------------------------------------