久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
stm32多路PWM模擬輸出的程序源碼
[打印本頁]
作者:
Happenzj
時(shí)間:
2018-5-25 10:16
標(biāo)題:
stm32多路PWM模擬輸出的程序源碼
stm32F103c8t6的程序(可方便改成使用的單片機(jī)),通過定時(shí)器模擬輸出多路脈沖寬度不同的PWM,且脈沖寬度與脈沖寬度改變速度可控。自己用于多路舵機(jī)驅(qū)動(dòng),理論上單片機(jī)有多少I/O口就能輸出多少路PWM!!!
stm32單片機(jī)源程序如下:
#include "stm32f10x.h"
#include "TIM.h"
#include "DELAY.h"
#include "GPIO.h"
#include "math.h"
#include "DATA.h"
int main()
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);//選擇中斷分組4
GPIO_Configuration();
TIM3_Init(71,9);//每10us進(jìn)一次中斷
NVIC3_Configurature();
TIM2_Init(35999,19);//100Hz
NVIC2_Configurature();
slaver_SetAngle(0,220,60);//零號(hào)舵機(jī),A1
slaver_SetAngle(1,20,60);//A2
slaver_SetAngle(2,40,60);//A3
slaver_SetAngle(3,60,60);
slaver_SetAngle(4,80,60);
slaver_SetAngle(5,100,60);
slaver_SetAngle(6,120,60);
slaver_SetAngle(8,140,60);
slaver_SetAngle(9,160,60);
slaver_SetAngle(10,170,60);
slaver_SetAngle(11,100,60);
slaver_SetAngle(12,40,60);
slaver_SetAngle(13,60,60);
slaver_SetAngle(14,70,60);
slaver_SetAngle(15,80,60);
slaver_SetAngle(16,90,60);
slaver_SetAngle(17,100,60);
while(1)
{
}
}
volatile unsigned short pulse_width = 2000;
volatile unsigned int tim3_cnt = 0;//設(shè)置的奇數(shù)位
void TIM3_IRQHandler(void)//TIM3做PWM輸出
{
unsigned char j;
TIM3->SR = 0;//清楚中斷
tim3_cnt++;
if(tim3_cnt == pulse_width)
{
tim3_cnt = 0;
GPIOA->ODR |= 0XFFFF;//對(duì)其他的端口不會(huì)影響
GPIOB->ODR |= 0XFFFF;
}
for(j = 0;j < slave_Number;j ++)
{
if(tim3_cnt == slaver_data[j].Data_Converted)//等于角度轉(zhuǎn)換值得到的數(shù)值
{
(slaver_data[j].GPIOx)->ODR&=~slaver_data[j].GPIO_Pin;//選擇端口,進(jìn)行賦值
}
}
}
void TIM2_IRQHandler(void)//定時(shí)器2做控速
{
unsigned char i;
TIM2->SR = 0;
for(i=0; i<slave_Number; i++)
{
if(fabs(slaver_data[i].Data_Desire - slaver_data[i].Data_Real) < slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE)//判斷實(shí)際角度與輸入角度的差值
{
slaver_data[i].Data_Real = slaver_data[i].Data_Desire;//差值小就直接賦值
}
else
{
if(slaver_data[i].Data_Desire > slaver_data[i].Data_Real)//輸入值大于實(shí)際值
{
slaver_data[i].Data_Real += slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE;//加等于輸入值
}
else
{
slaver_data[i].Data_Real -= slaver_data[i].Data_Speed*CYCLE_TIM2_UPDATE;//減等于輸入值
}
}
slaver_data[i].Data_Converted = (unsigned short)(50.0f + slaver_data[i].Data_Real*SLAVER_CHANGE);//加上偏移量,轉(zhuǎn)換數(shù)值
}
}
復(fù)制代碼
所有資料51hei提供下載:
duoji-qudong-5.zip
(318.85 KB, 下載次數(shù): 33)
2018-5-25 10:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
Happenzj
時(shí)間:
2018-5-25 10:17
我怎么上傳資料啊,剛來這個(gè)論壇,尷尬,,,
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
精久久久
|
日韩在线视频一区
|
国产日韩精品在线
|
国产aⅴ爽av久久久久久久
|
欧美成人a∨高清免费观看 欧美日韩中
|
国产成人精品免费
|
国产福利精品一区
|
亚洲欧洲国产视频
|
97久久精品
|
中文字幕一级毛片视频
|
在线国产一区
|
成人在线不卡
|
亚洲欧美视频在线观看
|
www.狠狠干
|
久久综合久久综合久久
|
免费在线黄
|
成人综合一区二区
|
久久精品视频免费观看
|
欧美成人激情
|
亚洲网在线
|
午夜国产
|
日韩理论电影在线观看
|
亚洲福利网站
|
欧美一区二区三区
|
男女视频在线观看网站
|
在线免费国产
|
日韩视频福利
|
国产精品久久久久久一区二区三区
|
日韩精品久久久久久
|
在线视频 亚洲
|
日韩精品一区二区久久
|
999久久久久久久久6666
|
久久久久久国产精品免费免费男同
|
大象一区
|
久久精品亚洲欧美日韩久久
|
成人国产精品免费观看
|
国产成人精品免高潮在线观看
|
二区在线观看
|
精品欧美一区二区在线观看视频
|
www性色
|
久久三区
|