中级会员
 
- 积分
- 284
- 金钱
- 284
- 注册时间
- 2016-10-27
- 在线时间
- 46 小时
|
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
/************************************************
ALIENTEK战舰STM32开发板实验9
PWM输出实验
技术支持:www.openedv.com
淘宝店铺:http://eboard.taobao.com
关注微信公众平台微信号:"正点原子",免费获取STM32资料。
广州市星翼电子科技有限公司
作者:正点原子 @ALIENTEK
************************************************/
#define ARE 899
int main(void)
{
u16 led0pwmval=0;
// u8 dir=1;
vu8 key=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(115200); //串口初始化为115200
KEY_Init(); //按键IO初始化
LED_Init(); //LED端口初始化
TIM3_PWM_Init(ARE,0);
key = KEY_Scan(0);
while(1)
{
key=KEY_Scan(1); //得到键值
if(key)
{
switch(key)
{
case KEY2_PRES:
led0pwmval++;
if(led0pwmval>500)
led0pwmval=0;
break;
case KEY1_PRES:
led0pwmval--;
if(led0pwmval<1)
led0pwmval=500;
break;
}
}else delay_ms(10);
TIM_SetCompare2(TIM3,led0pwmval);
}
}
//学习路上中,欢迎共同学习,一起进步
|
|