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

標題: stm32f103驅動pca9685 舵機不動 求幫助 [打印本頁]

作者: wzl-mcu    時間: 2019-8-19 14:51
標題: stm32f103驅動pca9685 舵機不動 求幫助
為什么我的這個程序無法讓舵機動起來,請大佬指教
#include "./EEPROM/EEPROMH.H"
#include "./I2C/I2CH.H"
#include <stdio.h>
#include <math.h>

void delayms(u32 z)
{
  u32 x,y;
  for(x=z;x>0;x--)
      for(y=148;y>0;y--);
}

void PCA9685_write(u8 address,u8 date)
{
   I2C_START();            
   I2C_WRITE_BYTE(PCA9685_adrr);        //PCA9685的片選地址
   I2C_ACK();                          
   I2C_WRITE_BYTE(address);  //寫地址控制字節
   I2C_ACK();
   I2C_WRITE_BYTE(date);          //寫數據
   I2C_ACK();
   I2C_STOP();
}

u8 PCA9685_read(u8 address)
{
    u8 date;
    I2C_START();
    I2C_WRITE_BYTE(PCA9685_adrr); //PCA9685的片選地址
    I2C_ACK();
    I2C_WRITE_BYTE(address);
    I2C_ACK();
    I2C_START();
    I2C_WRITE_BYTE(PCA9685_adrr|0x01);   //地址的第八位控制數據流方向,就是寫或讀
    I2C_ACK();
    date=I2C_READ_BYTE();
    I2C_STOP();
    return date;
}

void reset(void)
{
   PCA9685_write(PCA9685_MODE1,0x0);
}


void begin(void)
{
  reset();
}

void setPWMFreq(float freq)
{
   u16 prescale,oldmode,newmode;
   float prescaleval;
   freq *= 0.92;  
   prescaleval = 25000000;
   prescaleval /= 4096;
   prescaleval /= freq;
   prescaleval -= 1;
   prescale = floor(prescaleval + 0.5f);

   oldmode = PCA9685_read(PCA9685_MODE1);
   newmode = (oldmode&0x7F) | 0x10;
   PCA9685_write(PCA9685_MODE1, newmode);
   PCA9685_write(PCA9685_PRESCALE, prescale);
   PCA9685_write(PCA9685_MODE1, oldmode);
   delayms(2);            
   PCA9685_write(PCA9685_MODE1, oldmode | 0xa1);
}


void setPWM(u16 num, u16 on, u16 off)
{
  PCA9685_write(LED0_ON_L+4*num,on);
  PCA9685_write(LED0_ON_H+4*num,on>>8);
  PCA9685_write(LED0_OFF_L+4*num,off);
  PCA9685_write(LED0_OFF_H+4*num,off>>8);
}


int main(void)
{
    begin();
    setPWMFreq(50);  

   while(1)
    {
      setPWM(12, 0, SERVO000);//第12路舵機轉到0角度
      delayms(1500);
    }   
}        

舵機.7z

176.29 KB, 下載次數: 12

這是我的工程


作者: wzl-mcu    時間: 2019-11-14 10:11
大哥解決了嗎?我也碰到了同樣的問題,有時程序燒進去可以動有時又不能動




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1