新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2021-2-21
- 在线时间
- 5 小时
|
1金钱
//主函数如下,效果并不理想,大神给看看什么问题,还有我用jlink调试时候想看看led0pwmval的实时变化数值在watch1里面,但是显示值是不变的,只有退出的时候才显示一次当前值,求解?
//TIM_SetCompare2还有这个函数是直接控制占空比的大小是吧,并不是课件说的ccr的位置,想反了,试了下才知道反的
int main(void)
{
u8 key = 0;
u16 led0pwmval = 0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
LED_Init(); //LED端口初始化
TIM3_PWM_Init(899,0);//10Khz的计数频率,计数到5000为500ms
while(1)
{
key=KEY_Scan(0);
if(key == KEY1_PRES)led0pwmval+=50;
if(key == KEY0_PRES)led0pwmval-=50;
if(led0pwmval>800)led0pwmval=800;
if(led0pwmval<0)led0pwmval=0;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
|
|