📄 pwm.c
字号:
/*----------------------------------------------------------------------------
QQ: 958664258
21IC用户名:banhushui
交流平台:http://blog.21ic.com/user1/5817/index.html
淘宝店铺:http://shop58559908.taobao.com
旺旺:半壶水电子
编译器版本:MDK4.12
*---------------------------------------------------------------------------*/
#include <stm32f10x_lib.h> // STM32F10x Library Definitions
#include "STM32_Init.h" // STM32 Initialization
unsigned short Ccr = 0; // Capture , Compare value
int Dir = 1; // in- decrease CCR
/*------------------------------------------------------------------------------
Timer4 Update Interrupt Handler
*------------------------------------------------------------------------------*/
void TIM4_IRQHandler(void)
{
if (TIM4->SR & (1 << 0))
{
// UIF set?
// lower limit reached ? move up
//判断占空比到最小
if (Ccr == 0)
Dir = 1;
// upper limit reached ? move down
//判断占空比到最大
if (Ccr == 100)
Dir = -1;
Ccr = Ccr + Dir;
TIM4->CCR3 = Ccr; // change ccr
TIM4->CCR4 = 100 - Ccr; // change ccr
TIM4->SR &= ~(1 << 0); // clear UIF flag
}
} // end TIM4_IRQHandler
/*----------------------------------------------------------------------------
MAIN function
*----------------------------------------------------------------------------*/
int main(void)
{
stm32_Init(); // STM32 setup
while (1)
{
// Loop forever
;} // end while
} // end main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -