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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2674|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品成人一区二区三区四区 | 亚洲精品成人在线 | 极情综合网 | 四虎影| 亚洲精品一区二区在线观看 | 精品国产乱码久久久久久影片 | 亚洲精品国产a久久久久久 午夜影院网站 | 国产专区在线 | 男女在线网站 | 国产精品永久免费 | 七七婷婷婷婷精品国产 | 日本不卡一区二区三区 | 久久久久国产一级毛片 | 永久www成人看片 | 成人久草 | 日本在线中文 | 特黄特色大片免费视频观看 | 久久久一二三 | 亚洲精品电影网在线观看 | 九九亚洲 | 午夜一区二区三区 | 久久久久久久久99精品 | 成人av看片 | 999精品网| 欧美操操操 | 亚洲精品欧美精品 | 一区二区福利视频 | 午夜在线免费观看 | 蜜桃av人人夜夜澡人人爽 | 久久丝袜 | 久久久久资源 | 在线观看视频亚洲 | 337p日本欧洲亚洲大胆精蜜臀 | 精品国产欧美 | 中文字幕一区二区三区四区不卡 | 一区二区三区欧美在线 | 欧美日韩亚洲视频 | 亚洲精品一区二区在线观看 | 7777精品伊人久久精品影视 | 伊人狠狠| 国产精品国产三级国产aⅴ浪潮 |