久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2584|回復(fù): 3
收起左側(cè)

STM32 PWM控制舵機源程序

[復(fù)制鏈接]
ID:980708 發(fā)表于 2021-11-13 21:15 | 顯示全部樓層 |閱讀模式
main.c

#include <stm32f10x.h>
#include "led.h"
#include "pwm.h"
#include "delay.h"
#include "usart.h"        
#include "sys.h"
int main(void)
{
        SysTick_Init(72);
  PWM_TIM3_CH1_Init(19999,71);
//        PWM_TIM3_CH2_Init(19999,71);
        uart_init(9600);
        LED_Init();
        while(1)
        {


//                //改變占空比值
                TIM_SetCompare1(TIM3,2500);//1500/20000=1.5/20
                delay_ms(1200);
                delay_ms(1200);
                TIM_SetCompare1(TIM3,1000);//1000/20000=1/20

                delay_ms(1200);
                delay_ms(1200);
        }
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

pwm.c

#include "pwm.h"


void PWM_TIM3_CH1_Init(u16 arr,u16 psc)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_OCInitTypeDef TimOCInitStructure;
        
        //1,開啟 TIM4 GPIOB 復(fù)用時鐘
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);
        
        //2,初始化PB7,復(fù)用功能
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;                        //選擇引腳7                                         
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //輸出頻率最大50MHz                     
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                //復(fù)用推挽輸出
        GPIO_Init(GPIOA,&GPIO_InitStructure);
               
        //3,初始化TIM4
        TIM_TimeBaseStructure.TIM_Prescaler = psc; //設(shè)置定時器的分頻值:1MHZ
        TIM_TimeBaseStructure.TIM_Period = arr;        //設(shè)置計數(shù)溢出大小 周期為500us
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;        //設(shè)置計數(shù)器模式為向上計數(shù)模式(+1)        
        TIM_TimeBaseStructure.TIM_ClockDivision =TIM_CKD_DIV1;                //分頻因子
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);        
                        
        //4,初始化PWM輸出配置,TIM4的CH2
        TimOCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//PWM模式1輸出
        //TimOCInitStructure.TIM_Pulse = 0;                //設(shè)置比較寄存中的初值(占空比)
        TimOCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//TIM輸出比較極性高
        TimOCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//使能輸出狀態(tài)
        TIM_OC1Init(TIM3, &TimOCInitStructure);
        //TIM_OC2Init(TIM3, &TimOCInitStructure);
        //5,使能TIM4預(yù)裝載寄存器
        TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);
        //TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
        //6,使能自動重裝載        
        //TIM_ARRPreloadConfig(TIM4,ENABLE);
        
        //7,使能TIM4的PWM輸出
        //TIM_CtrlPWMOutputs(TIM4,ENABLE);
        
        //8,開啟TIM4定時器
        TIM_Cmd(TIM3, ENABLE);
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
pwm.h

#ifndef __PWM_H
#define __PWM_H

#include <stm32f10x.h>


void PWM_TIM3_CH1_Init(u16 arr,u16 psc);


#endif


水平不足,僅供參考: PWM1程序.7z (177.4 KB, 下載次數(shù): 62)

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20

查看全部評分

回復(fù)

使用道具 舉報

ID:973696 發(fā)表于 2021-11-17 17:09 | 顯示全部樓層
你的pwm.c文件開頭不用引用#include <stm32f10x.h>都可以么,為什么我會報錯呢,還有你這個函數(shù) SysTick_Init(72)是庫函數(shù)自帶的么?還是自己寫的函數(shù)#include "sys.h"
回復(fù)

使用道具 舉報

ID:980708 發(fā)表于 2021-12-20 09:43 | 顯示全部樓層
dll001 發(fā)表于 2021-11-17 17:09
你的pwm.c文件開頭不用引用#include 都可以么,為什么我會報錯呢,還有你這個函數(shù) SysTick_Init(72)是庫函 ...

pwm.h有引用#include <stm32f10x.h>,這個 SysTick_Init(72)你可以用這個SystemInit();
回復(fù)

使用道具 舉報

ID:980708 發(fā)表于 2021-12-20 09:45 | 顯示全部樓層
dll001 發(fā)表于 2021-11-17 17:09
你的pwm.c文件開頭不用引用#include 都可以么,為什么我會報錯呢,還有你這個函數(shù) SysTick_Init(72)是庫函 ...

pwm.h有引用#include <stm32f10x.h>,這個函數(shù) SysTick_Init(72)你可以用庫函數(shù)自帶的這個SystemInit()。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品久久影院 | 国产精品久久久久久久久久久久久 | 国产一区三区在线 | 免费h在线| 国产伦一区二区三区四区 | 黄色电影在线免费观看 | 欧美日韩不卡在线 | 国产成人免费视频网站高清观看视频 | 国产91精品网站 | 懂色av色香蕉一区二区蜜桃 | 亚洲一本 | 亚洲色图网址 | 亚洲午夜精品 | 免费黄色网址视频 | 亚洲风情在线观看 | 好好的日在线视频 | 成人免费视频在线观看 | 欧美亚洲视频 | 91久久精品国产免费一区 | 在线免费国产视频 | 91麻豆精品国产91久久久更新资源速度超快 | 日韩精品一区二区三区在线播放 | 一区二区三区中文字幕 | 超碰在线人 | 国产在线第一页 | 四虎影院在线播放 | 国产激情一区二区三区 | 91看国产| 午夜影院| 欧美成人免费在线视频 | 国产一区二区三区高清 | 国产精品一区二区三区久久久 | 亚洲 欧美 日韩在线 | 欧美在线亚洲 | 九九久久久 | 成人一区二区三区在线观看 | 成人av一区 | 日韩在线小视频 | 人人玩人人添人人澡欧美 | 国产在线永久免费 | 爱操av|