青草国产精品久久久久久,国产高清一区二区三区视频,免费av一区二区三区,午夜熟女插插XX免费视频

產(chǎn)品
有人云 — 物聯(lián)網(wǎng)云平臺 零編程,組態(tài)拖拽即可實現(xiàn)遠程監(jiān)控。同時支持私有部署,擁有屬于自己的軟硬件一體化方案
200
+
私有云項目
數(shù)據(jù)本地化
業(yè)務個性化
10
+
萬 公有云注冊用戶
80%公有云功能免費
付費VIP享自定義品牌服務
有人云官網(wǎng)
有人智造 — ODM/EMS 依托自動化、智能化、柔性化、透明化的智能工廠,
提供代研、代料、代工一站式OEM/ODM服務
有人智造官網(wǎng)
有人智能 — 解決方案 打包提供云、管、邊、端整體解決方案
從問題診斷、方案設計,到實施落地、系統(tǒng)運維
有人智能官網(wǎng)
新聞資訊
avr單片機 PWM 超級函數(shù) 可以設置周期為2us~65ms
2010-11-28


共享超級PWM設置函數(shù) 可以設置周期為2us~65ms 可設占空比 2路PWM,使用定時器1,16位定時器,已經(jīng)在電機控制產(chǎn)品中使用。

實測2us~65ms 非常準確
void pwmIint_us(uint16 zhouqi_us,uint16 high_us_A,uint16 high_us_B)
三個參數(shù)為 周期,第一路高電平時間,第二路高電平時間。

古欣 版權(quán)所有,轉(zhuǎn)載請注明出處

請自行定義部分內(nèi)容

要直接編譯 還需要加一些定義,如包含頭文件,增加類型定義。
typedef unsigned char uint8;

typedef unsigned int uint16;

[code="c"]

#define F_CPU_M   7.3728
#define DDR_OC1   DDRB
#define PORT_OC1A PB1
#define PORT_OC1B PB2
#define CKDIV_0     0
#define CKDIV_1     1
#define CKDIV_8     2
#define CKDIV_64   3
#define CKDIV_256   4
#define CKDIV_1024   5

//Time=PRE*(MAX-TCNT0+1) /F_cpu 這里time以秒為單位 F_cpu以hz為單位
//Time*F_cpu=PRE*MAX
//Max=Time*F_cpu/pre;

//2us ~ 65000us (65ms)
void pwmIint_us(uint16 zhouqi_us,uint16 high_us_A,uint16 high_us_B)
{
uint8 ckdiv = 1; //預分頻
float tmp;

if((float)zhouqi_us>(float)(65536/F_CPU_M))
{
TCCR1B=CKDIV_8;//控制預分頻
ckdiv = 8;
}
else
{
TCCR1B=CKDIV_1;//控制預分頻
}

tmp=F_CPU_M*(float)(zhouqi_us/ckdiv);
ICR1 = (uint16)tmp; //控制最高計數(shù)
if(high_us_A)
{
DDR_OC1|=(1<<PORT_OC1A); //對應引腳為輸出
TCCR1A |=(1<<COM1A1);   //比較匹配時清零
tmp=F_CPU_M*(float)(high_us_A/ckdiv);
OCR1A=(uint16)tmp;
}
if(high_us_B)
{
DDR_OC1|=(1<<PORT_OC1B);
TCCR1A |=(1<<COM1B1);
tmp=F_CPU_M*(float)(high_us_B/ckdiv);
OCR1B=(uint16)tmp;
}

TCCR1A |=(1<<WGM11); //WGM 11 12 13 組合表示 快速PWM模式 計數(shù)TOP 為ICR1
TCCR1B |=((1<<WGM13)|(1<<WGM12));
}

[/code]

pwmIint_us(200,100,0);的效果如圖

pwmIint_us(65000,32500,0); 的效果


工作日每天: 14:00~17:00
抖音、天貓 "有人旗艦店"

關(guān)注有人微信公眾號
了解更多信息