【安信可BW16-Kit】+ 定时器

[复制链接]
查看362 | 回复12 | 2024-3-31 16:25:02 | 显示全部楼层 |阅读模式

安信可BW16-Kit开发板集成了丰富的功能和接口,可以方便地进行各种开发应用。其中,使用TIM (Timer) 来控制LED的功能,可以通过编写相应的代码来实现。下面是一个简单的示例,展示了如何在安信可BW16-Kit上使用TIM来控制LED的闪烁。

代码:

  1. // bool isLightOn = false; // 灯光状态,默认关闭
  2. unsigned long previousMillis = 0; // 上一次变换状态的时间
  3. unsigned long interval = 1000; // 每个状态之间持续的时间间隔,默认1秒
  4. unsigned int isLightOn=0; //变量定义位置吗,有点不懂

  5. void setup() {
  6.   pinMode(PA13, OUTPUT);
  7.   Serial.begin(115200); // 初始化串口
  8.   // digitalWrite(PA13, true);
  9. }

  10. void loop() {
  11.   unsigned long currentMillis = millis(); // 获取当前运行时间
  12.   int setTime=0;
  13.   // Serial.println(currentMillis);

  14.   if(Serial.available() > 0) { // 如果串口有可用数据
  15.     setTime = Serial.parseInt(); // 从串口读取设置的定时时间
  16.     interval = setTime * 500; // 将设置的时间转换为秒
  17.     Serial.print("time set!\r\n");
  18.   }

  19. if(currentMillis - previousMillis >= interval) { // 如果超过设定的时间间隔
  20.     previousMillis = currentMillis; // 更新上次状态变换的
  21.     Serial.print("led change!\r\n");
  22.     isLightOn +=1; // 切换灯光

  23.     if(isLightOn%2==0) {
  24.      digitalWrite(PA13, HIGH);
  25.     Serial.print("led on ");
  26.     } else {
  27.      digitalWrite(PA13, LOW); // 关闭灯光
  28.     Serial.print("led off ");
  29.     }
  30.   }
  31. }
复制代码

串口输出记录:

1711873412864.jpg

视频:

6621cd418719252ed3770e7f8ee1fbd2.zip (999.26 KB, 下载次数: 0)

回复

使用道具 举报

干簧管 | 2024-3-31 17:59:34 | 显示全部楼层
回复

使用道具 举报

1084504793 | 2024-3-31 19:55:18 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-4-1 09:21:50 | 显示全部楼层
聚能写
回复

使用道具 举报

lazy | 2024-4-1 11:00:55 | 显示全部楼层
回复

使用道具 举报

hdydy | 2024-4-1 11:27:52 | 显示全部楼层
打卡学习
回复

使用道具 举报

1055173307 | 2024-4-1 16:02:06 | 显示全部楼层
学习
回复

使用道具 举报

物联网 | 2024-4-10 11:35:12 | 显示全部楼层
赞一下
回复

使用道具 举报

wurong | 2024-4-10 14:48:07 | 显示全部楼层
回复

使用道具 举报

timo | 2024-4-11 19:58:21 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则