[STM32F103RB][C] - DMA, can't change PWM period
DMAInit.DMA_PeripheralBaseAddr = (u16)TIM1_ARR_Address;  


You can't cast a pointer as an unsigned 16 bit. Pointers are 32 bit on this platform.
Like this: (uint32_t)&amp;TIM1-&gt;ARR.

DMAInit.DMA_PeripheralInc = DMA_PeripheralInc_Enable;


You can't increment the peripheral address, the next cycle would be TIMx_RCR, then TIMx_CCR1 etc.