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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2703|回復: 3
收起左側

STM32 PWM控制舵機源程序

[復制鏈接]
ID:980708 發表于 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 復用時鐘
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);
        
        //2,初始化PB7,復用功能
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;                        //選擇引腳7                                         
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //輸出頻率最大50MHz                     
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                //復用推挽輸出
        GPIO_Init(GPIOA,&GPIO_InitStructure);
               
        //3,初始化TIM4
        TIM_TimeBaseStructure.TIM_Prescaler = psc; //設置定時器的分頻值:1MHZ
        TIM_TimeBaseStructure.TIM_Period = arr;        //設置計數溢出大小 周期為500us
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;        //設置計數器模式為向上計數模式(+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;                //設置比較寄存中的初值(占空比)
        TimOCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//TIM輸出比較極性高
        TimOCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//使能輸出狀態
        TIM_OC1Init(TIM3, &TimOCInitStructure);
        //TIM_OC2Init(TIM3, &TimOCInitStructure);
        //5,使能TIM4預裝載寄存器
        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, 下載次數: 62)

評分

參與人數 1黑幣 +20 收起 理由
admin + 20

查看全部評分

回復

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲经典一区 | 国产成人精品一区 | 97国产视频 | www日韩 | 欧美一区二区在线观看 | www.久久精品 | 97在线超碰| 99一区二区 | 国产99热| 国产精品一二三区 | www.色网| 婷婷视频在线 | 超碰人人网 | 亚洲美女网站 | 久久久www成人免费精品 | 男人的天堂在线视频 | 亚洲国产成人av | 成年人国产 | 超碰在线99 | 午夜免费剧场 | 亚洲福利视频一区 | 亚欧洲精品在线视频免费观看 | 亚洲精品一区二区三区蜜桃久 | 欧美日韩91 | 手机看片欧美 | 艳妇乳肉豪妇荡乳 | 国产黄色一区 | 毛片www| 国产精品日韩欧美 | 日韩一区二区免费视频 | 久久精品久久久久 | 国产在线小视频 | www.亚洲视频 | 日韩精品视频在线 | 亚洲欧美综合另类 | 亚洲在线免费视频 | 欧美精品成人一区二区在线观看 | 国产在线二区 | 久久精选视频 | 久久中文网 | 欧美性猛交一区二区三区精品 |