安信可BW16-Kit开发板集成了丰富的功能和接口,可以方便地进行各种开发应用。其中,使用TIM (Timer) 来控制LED的功能,可以通过编写相应的代码来实现。下面是一个简单的示例,展示了如何在安信可BW16-Kit上使用TIM来控制LED的闪烁。 代码: - // bool isLightOn = false; // 灯光状态,默认关闭
- unsigned long previousMillis = 0; // 上一次变换状态的时间
- unsigned long interval = 1000; // 每个状态之间持续的时间间隔,默认1秒
- unsigned int isLightOn=0; //变量定义位置吗,有点不懂
- void setup() {
- pinMode(PA13, OUTPUT);
- Serial.begin(115200); // 初始化串口
- // digitalWrite(PA13, true);
- }
- void loop() {
- unsigned long currentMillis = millis(); // 获取当前运行时间
- int setTime=0;
- // Serial.println(currentMillis);
- if(Serial.available() > 0) { // 如果串口有可用数据
- setTime = Serial.parseInt(); // 从串口读取设置的定时时间
- interval = setTime * 500; // 将设置的时间转换为秒
- Serial.print("time set!\r\n");
- }
- if(currentMillis - previousMillis >= interval) { // 如果超过设定的时间间隔
- previousMillis = currentMillis; // 更新上次状态变换的
- Serial.print("led change!\r\n");
- isLightOn +=1; // 切换灯光
- if(isLightOn%2==0) {
- digitalWrite(PA13, HIGH);
- Serial.print("led on ");
- } else {
- digitalWrite(PA13, LOW); // 关闭灯光
- Serial.print("led off ");
- }
- }
- }
复制代码串口输出记录:
视频:
6621cd418719252ed3770e7f8ee1fbd2.zip
(999.26 KB, 下载次数: 0)
|