欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1898|回復: 0
收起左側

stm32舵機程序

[復制鏈接]
ID:631619 發表于 2019-10-28 20:14 | 顯示全部樓層 |閱讀模式
main.c
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "pwm.h"


int main(void)
{       
        u16 led0pwmval=0;   
       
        delay_init();                   
                                 
        TIM1_PWM_Init(1499,999);
         
       
           while(1)
        {
               
                                                 led0pwmval=37;
                        TIM_SetCompare1(TIM1,led0pwmval);
                        delay_ms(1000);
                       
                        delay_ms(10000);
                       
                        led0pwmval=160;
                        TIM_SetCompare1(TIM1,led0pwmval);
                       
                        delay_ms(10000);
                       
       
       
       
                  }

    }


--------------------------------------------------------------


pwm.h

#ifndef __PWM_H
#define __PWM_H
#include "sys.h"

void TIM1_PWM_Init(u16 arr,u16 psc);
#endif


---------------------------------------------------------------

pwm.c

#include "pwm.h"
#include "led.h"
#include "delay.h"

void TIM1_PWM_Init(u16 arr,u16 psc)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
        TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        TIM_OCInitTypeDef TIM_OCInitStruct;
       
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);//使能定時器時鐘1
         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIO外設
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                                 //PA.8 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;                  //復用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //io口速度50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //根據參數初始化GPIOA.8
                                       

       
       

//定時器1初始化
  TIM_TimeBaseStructure.TIM_Period = arr; //設置在下一個更新事件裝入活動的自動裝載寄存器周期的值
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //設置作為時鐘頻率除數的分頻值
        TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設置時鐘分割
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIM向上計數模式
        TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根據指定的參數初始化TIM

//初始化輸出比較參數
TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM2;
TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStruct.TIM_Pulse = 200;
TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_Low;
TIM_OC1Init(TIM1,&TIM_OCInitStruct);

TIM_CtrlPWMOutputs(TIM1,ENABLE);        //主輸出使能       



//使能輸出比較預裝載值
TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
TIM_ARRPreloadConfig(TIM1, ENABLE);
//使能定時器
TIM_Cmd(TIM1,ENABLE);



}







stm32舵機.docx

2.28 KB, 下載次數: 28, 下載積分: 黑幣 -5

舵機

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表