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("Period:",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就是控制低电平的