TA的每日心情 | 奋斗 2022-9-16 05:52 |
---|
签到天数: 1368 天 连续签到: 1 天 [LV.10]以坛为家III
|
目前只封装了这几个,按理说还应该有I2C、SPI等,实在没有时间一点一点去折腾了,赶紧结一下吧。
本来没有这篇的,在官网论坛看到网友madman写的这个控制风扇的例子,感觉很好,所以转过来作为一个参考。
再次感谢madman!!!
以下为原文:
package main
import (
"fmt"
"time"
"github.com/tjCFeng/GoRK3288/RK3288"
)
func main() {
defer RK3288.FreeRK3288()
PWM1, _ := RK3288.CreatePWM(RK3288.PWM_1)
PWM1.SetInactivePolarity(RK3288.Negative)
PWM1.SetPERIOD(50000)
for{
time.Sleep(time.Second * 1)
_, Data, _, _ := RK3288.ITSADC().GetData()
var adc_date = RK3288.ITSADC().GetTemperature(Data)
fmt.Println("Temperature:",adc_date)
fmt.Println("eriod:",50000)
PWM1.Stop()
if adc_date <= 40{
PWM1.SetDUTY(50000)
fmt.Println("Duty:",50000)
}else if adc_date >= 40 || adc_date <= 60{
PWM1.SetDUTY(50000-(uint32)(adc_date) * 766)
fmt.Println("Duty:",(50000-(uint32)(adc_date) * 766))
}else if adc_date >= 60{
PWM1.SetDUTY(0)
fmt.Println("Duty:",0)
}
PWM1.SetCNT(0)
PWM1.Start()
}
}
只是修改了下句式,PWM1.SetInactivePolarity(RK3288.Positive),这个改了之后是将pwm是释放之后端口高低电平的控制,不会影响到duty的控制的的占空比高低,不过手册里本身duty就是控制低电平的。 |
|