中微CMS8S5880 PWM輸出 占空比可調

2021-10-11 17:38:27 字數 1370 閱讀 8074

廢話不多直接上**

main.c

#include "uart.h"

#include "pwm.h"

#include "led.h"

#include "stdio.h"

#include "sys_time.h"

#include "timer.h"

#include "my_iic.h"

void main()

clrwdt();

}}

lib.h

#ifndef __lib_h__

#define __lib_h__

#define bit0 0x01

#define bit1 0x02

#define bit2 0x04

#define bit3 0x08

#define bit4 0x10

#define bit5 0x20

#define bit6 0x40

#define bit7 0x80

#endif

pwm.c

#include "pwm.h"

#include "lib.h"

void pwm_init(void)

=0時,占空比=0%;其他情況時,占空比=(+1)/(+1)*/

#define pwmd5h_pwmd5l 399

pwmd5h = (pwmd5h_pwmd5l >> 8) & 0x00ff;//本例pwm5占空比=400/800=50%

pwmd5l = pwmd5h_pwmd5l & 0x00ff;

pwmloaden |= 0x30;//使能pwm載入週期、占空比資料

pwmoe |= 0x30; //使能pwm的輸出

pwmcnte |= 0x30; //啟動pwm計數器

}void set_pwm5_duty_cycle(uint32_t val)

val = val * 800 / 100;

pwmcnte &= ~0x30; //關閉pwm計數器

pwmd5h = (val >> 8) & 0x00ff;

pwmd5l = val & 0x00ff;

pwmcnte |= 0x30; //啟動pwm計數器

}

pwm.h

#ifndef __pwm_h__

#define __pwm_h__

#include void pwm_init();

void set_pwm5_duty_cycle(uint32_t val);

#endif

k8s中汙點設定

kubectl taint 汙點 taint 的組成 使用 kubectl taint 命令可以給某個 node 節點設定汙點,node 被設定上汙點之後就和 pod 之間存在了一種相 斥的關係,可以讓 node 拒絕 pod 的排程執行,甚至將 node 已經存在的 pod 驅逐出去 每個汙點的組...

K8S中的資源

k8s中所有的內容都抽象為資源,資源例項化之後,叫做物件 pod replicaset deployment,statefulset,daemonset,job,cronjob replicationcontroller 在v.11版本被廢棄 service,ingress.volume 儲存卷 c...

k8s中容器許可權問題

問題1 在容器內strace gdb乙個程序報錯 operation not permitted 這涉及到ptrace系統呼叫的許可權問題,預設容器是沒有許可權去ptrace程序的。這個問題需要通過給容器提權才能解決,在k8s中需要給container級別增加如下選項 注意,securitycont...