• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ pwmWrite函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中pwmWrite函数的典型用法代码示例。如果您正苦于以下问题:C++ pwmWrite函数的具体用法?C++ pwmWrite怎么用?C++ pwmWrite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了pwmWrite函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: motor_secure_pwm_write

void motor_secure_pwm_write(uint8 pPin, uint16 pCommand) {
  if (pCommand > MAX_COMMAND) {
    pwmWrite(pPin, MAX_COMMAND);
  } else {
    pwmWrite(pPin, pCommand);
  }
}
开发者ID:RhobanProject,项目名称:Dynaban,代码行数:7,代码来源:motor.cpp


示例2: main

int main (void)
{
	int bright ;

	printf ("Raspberry Pi wiringPi PWM test program\n") ;

	if (wiringPiSetup () == -1)
	exit (1) ;

	pinMode (1, PWM_OUTPUT) ;

	for (;;)
	{
	for (bright = 0 ; bright < 1024 ; ++bright)
	{
		pwmWrite (1, bright) ;
		delay (1) ;
	}

	for (bright = 1023 ; bright >= 0 ; --bright)
	{
		pwmWrite (1, bright) ;
		delay (1) ;
	}
	}

	return 0 ;
}
开发者ID:JeffAbrahamson,项目名称:docs,代码行数:28,代码来源:pwm.c


示例3: motor_brake

/**
   Will make the engine brake. Note : it brakes hard.
 */
void motor_brake() {
  mot.state = BRAKE;
  mot.previousCommand = mot.command;
  mot.command = 0;
  pwmWrite(PWM_2_PIN, 0);
  pwmWrite(PWM_1_PIN, 0);
}
开发者ID:RhobanProject,项目名称:Dynaban,代码行数:10,代码来源:motor.cpp


示例4: main

int main(void)
{
   boardConfig();

   tickConfig( 1, 0 );

   digitalConfig( 0, ENABLE_DIGITAL_IO );


   uint8_t dutyCycle = 0; /* 0 a 255 */

   analogConfig( ENABLE_ANALOG_INPUTS );

   pwmConfig( 0,     PWM_TIMERS_ENABLE );

   pwmConfig( PWM0,  PWM_OUTPUT_ENABLE );
   pwmConfig( PWM7,  PWM_OUTPUT_ENABLE );

   pwmWrite( PWM7, 0 );
   pwmWrite( PWM0, 0 );

   while(1) {
      dutyCycle = analogRead(AI1) / 4 ;
      pwmWrite( PWM7, dutyCycle );
      pwmWrite( PWM0, dutyCycle );
   }
   return 0 ;
}
开发者ID:cpantel,项目名称:ciaa,代码行数:28,代码来源:main.c


示例5: main

int main(void)
{
	int i;

	if(wiringPiSetup() < 0){ //when initialize wiringPi failed, print message to screen
		printf("setup wiringPi failed !\n");
		return -1; 
	}
	
	pinMode(LedPin, PWM_OUTPUT);//pwm output mode

	while(1){
		for(i=0;i<1024;i++){
			pwmWrite(LedPin, i);
			delay(2);
		}
		delay(1000);
		for(i=1023;i>=0;i--){
			pwmWrite(LedPin, i);
			delay(2);
		}
	}

	return 0;
}
开发者ID:adeept,项目名称:Adeept_RFID_Learning_Kit_C_Code_for_RPi,代码行数:25,代码来源:breathingLed.c


示例6: drive_straight

void drive_straight(int left45_sensor, int left90_sensor, int right45_sensor, int right90_sensor) // 2 or 4 sensors?
{
                                           // analog read values of 2 or 4 sensors passed to function
  static int previous_error = 0;
  static int Kp = 16, Ki = 1, Kd = 4;      // constants for scaling P I D effects (will need adjusting)
  static int error, P, I = 0,  D;      // error variables
  int total; 
  
  error = (right45_sensor + right90_sensor)/2 - (left_45sensor + left90_sensor)/2;
  
  P = error * Kp;
  
  I = (I + error)*Ki;    
  
  D = (error - previous_error) * Kd;       // may take out
  previous_error = error;
  
  total = (P+I+D);

  {
    L_enable_val -= (total);
      L_enable_val = constrain(L_enable_val, 30000, 65535);      // may need to adjust
    
    R_enable_val += (total); 
      R_enable_val = constrain(R_enable_val, 30000, 65535);
    
    pwmWrite(left_enable, L_enable_val);            // enable pins and values 
                                                     // must be global
    pwmWrite(right_enable, R_enable_val);          // arduino uses analogWrite
  }
}
开发者ID:MattFach,项目名称:Micromouse,代码行数:31,代码来源:PID+control.c


示例7: usePibrellaPwm

/**
 * Plays the specified MIDI note number where 60 = Middle C, 69 = A (440 Hz).
 * Note 0 is a rest (silence) and note 1 is a buzz (low freq).
 */
void Gpio::startBuzzer(int note)
{
	if (!mHwPwmInit)
		usePibrellaPwm();

	if (note == 0){
		pwmWrite(HW_PWM_PIN, 0);
		mBuzzerClock = 0;
		return;
	}

	// Convert MIDI note number to frequency
	double freq;
	if (note == 1)
		freq = 20;
	else
		freq = 440.0 * pow(2.0, ((note - 69) / 12.0));

	// Fiddle the clock value so that it sounds good from 1 octave below
	// middle C to one octave above, i.e. 3 full octaves.
	int clock = (int)(60000.0 / freq);
	if (mBuzzerClock != clock){
		pwmSetClock(clock);
		pwmWrite(HW_PWM_PIN, 50);
		mBuzzerClock = clock;
	}
}
开发者ID:scott-vincent,项目名称:pioscript,代码行数:31,代码来源:gpio.cpp


示例8: main

int main(void) {
		
		int distancia0=100, distancia1=100, distancia2=100;
		int m1=975, m0=975;
		
		char str[20];
		printf("Nome do arquivo: ");
		fgets(str,20,stdin);
		if(str[strlen(str)-1]=='\n'){str[strlen(str)-1]='\0';}
		strcat(str,".txt");
		puts(str);
		
		FILE *fp;
		fp = fopen(str,"w");
		
		setup();
		while(distancia1 > 10){
			
			distancia0=getCM0();
			delay(50);
			distancia1=getCM1();
			delay(50);
			distancia2=getCM2();
			delay(50);
			
			if (distancia1 < 40){
				m0=975;
				m1=975;
			}else if (distancia0 < 100 && distancia2 > 100){
				m0=970;
				m1=964;
			}else if (distancia2 < 100 && distancia0 > 100){
				m0=965;
				m1=970;
			}else if(distancia0 < 100 && distancia2 < 100){
				m0=970;
				m1=970;
			}else{
				m0=965;
				m1=964;
			}
			
			pwmWrite(MOTOR0,m0);
			pwmWrite(MOTOR1,m1);
			
			printf("Distance0: %dcm\n", distancia0);
			fprintf(fp,"%d\t",distancia0);
			printf("Distance1: %dcm\n", distancia1);
			fprintf(fp,"%d\t",distancia1);
			printf("Distance2: %dcm\n", distancia2);
			fprintf(fp,"%d\t",distancia2);
			printf("\n");
			fprintf(fp,"%d\t",m0);
			fprintf(fp,"%d\n",m1);
			
		}
		fclose(fp);
        return 0;
}
开发者ID:JoaoVictorGordo,项目名称:high-speed-robot,代码行数:59,代码来源:motor_ultrasom.c


示例9: main

int main(int argc, const char *argv[]) {
    unsigned int timeBase = 3000000;
    char buffer[10];
    char prevLine[10];

    if (geteuid() != 0) {
        // chown root <file>
        // sudo chmod u+s <file>
        char *exec = rindex(argv[0], '/');
        exec++;
        fprintf(stderr, "You must be root to run \"%s\". Program should be suid root. This is an error.\n", exec) ;
        return 1;
    }

    atexit(destroy);
    signal(SIGHUP, terminated);
    signal(SIGINT, terminated);
    signal(SIGKILL, terminated);
    signal(SIGPIPE, terminated);
    signal(SIGALRM, terminated);
    signal(SIGTERM, terminated);

    wiringPiSetupGpio();
    pinMode(18, PWM_OUTPUT);
    pwmSetMode(PWM_MODE_MS);
    pwmWrite(18, 0);

    char tone[3] = "--";
    int octave;
    unsigned int duration;

    char *line = fgets(buffer, 10, stdin);
    assert(line != NULL);

    int parsed = sscanf(line, "%c%c%i %i", &tone[0], &tone[1], &octave, &duration);

    while (parsed == 4) {
        printf("%s%i, 1/%i\n", tone, octave, duration);
        fflush(stdout);
        int divisor = 1 << (8 - octave - 2);
        int toneIndex = 0;

        for (toneIndex = 0; toneIndex < 13; toneIndex++) {
            if (0 == strncmp(tone, TONE_NAME[toneIndex], 2)) {
                break;
            }
        }

        assert(toneIndex < 13);

        if (toneIndex < 12) {
            float frequency = TONE_HZ[toneIndex] / divisor;
            unsigned int range = (unsigned int)(600000.0f / frequency);
            pwmSetRange(range);
            pwmWrite(18, range >> 1);
            usleep(timeBase / duration);
            pwmWrite(18, 0);
            usleep(20000);
        } else {
开发者ID:kwasmich,项目名称:PiPWMTone,代码行数:59,代码来源:main.c


示例10: motor_restart

/**
   Will release the motor. Call motor_restart() to get out of this mode
 */
void motor_compliant() {
  mot.state = COMPLIANT;
  mot.previousCommand = mot.command;
  mot.command = 0;
  digitalWrite(SHUT_DOWN_PIN, LOW);
  pwmWrite(PWM_2_PIN, 0);
  pwmWrite(PWM_1_PIN, 0);
}
开发者ID:RhobanProject,项目名称:Dynaban,代码行数:11,代码来源:motor.cpp


示例11: writeAngle

void writeAngle(int angle){
	if(angle > 135){
		pwmWrite(WHEEL_PIN, 135);
	} else if (angle < 45){
		pwmWrite(WHEEL_PIN, 45);
	} else {
		pwmWrite(WHEEL_PIN, angle);
	}
}
开发者ID:admiralFedora,项目名称:544,代码行数:9,代码来源:motor.c


示例12: playScale

/// Play a chromatic scale.
void playScale(MorseToken) {
  analogWrite(piezoTxN, 0);
  for (size_t i(24); i < sizeof(noteHz)/sizeof(noteHz[0]); i += 1) {
    pwmFrequency(noteHz[i]+0.5);
    pwmWrite(getDuty());
    delayMicroseconds(getDitMicros());
    pwmWrite(0);
  }
}
开发者ID:pictographer,项目名称:didah,代码行数:10,代码来源:pda.cpp


示例13: release_door

void release_door(void)
{
	pwmWrite(1, 75); //servo goto open position
	usleep(600000); //wait until servo reaches open position
	pwmWrite(1, 0); //stop servo motor
	sleep(2); //wait with tray opened for 1 seconds
	pwmWrite(1, 30); //servo goto closed position
	usleep(600000); //wait until servo reaches closed position
	pwmWrite(1, 0); //stop servo motor
}
开发者ID:hackathon-ro,项目名称:catfeed,代码行数:10,代码来源:pwm-control.c


示例14: initMotor

void initMotor(){
	pinMode(ESC_PIN, PWM_OUTPUT);
	pinMode(WHEEL_PIN, PWM_OUTPUT);
	
	pwmWrite(ESC_PIN, 180);
	sleep(1);
	pwmWrite(ESC_PIN, 0);
	sleep(1);
	pwmWrite(ESC_PIN, NEUTRAL_SPEED);
	sleep(1);
	pwmWrite(ESC_PIN, NEUTRAL_SPEED);
	pwmWrite(WHEEL_PIN, NEUTRAL_ANGLE);
}
开发者ID:admiralFedora,项目名称:544,代码行数:13,代码来源:motor.c


示例15: calcTicks

void Control::demo(){
    float millis = 1.0;
    int tick = calcTicks(millis, HERTZ);
    while(1){
        pwmWrite(PIN_BASE + 16, tick);
        delay(2000);
        millis=1.6;
        tick = calcTicks(millis, HERTZ);
        pwmWrite(PIN_BASE + 16, tick);         delay(2000);
        millis=1.0;
        tick = calcTicks(millis, HERTZ);
        pwmWrite(PIN_BASE + 16, tick);
        delay(2000);
    }
}
开发者ID:mmcglynn45,项目名称:PIFlightController,代码行数:15,代码来源:Control.cpp


示例16: pwmAudioOutput

static void pwmAudioOutput()
{
#if (USE_AUDIO_INPUT==true)
	adc_count = 0;
	startSecondAudioADC();
#endif

#if (AUDIO_MODE == HIFI)
	int out = output_buffer.read();
	pwmWrite(AUDIO_CHANNEL_1_PIN, out & ((1 << AUDIO_BITS_PER_CHANNEL) - 1));
	pwmWrite(AUDIO_CHANNEL_1_PIN_HIGH, out >> AUDIO_BITS_PER_CHANNEL);
#else
	pwmWrite(AUDIO_CHANNEL_1_PIN, (int)output_buffer.read());
#endif
}
开发者ID:thomasfredericks,项目名称:Mozard,代码行数:15,代码来源:MozziGuts.cpp


示例17: Motors_comands_void

void Motors_comands_void(void)
 {

	 static int debinainte_in  = 0;
	 static int debinainte_out = 0;
	 static int debinapoi_in   = 0;
	 static int debinapoi_out  = 0;
	 static int pwm_out1       = 0;
	 static int pwm_out2       = 0;
	 int i = 0;

	 if (buf_control_comands.DirectionOfMotor > 50)
	 {
		 pwm_out1 = (100 *(buf_control_comands.DirectionOfMotor - 50));
		 pwm_out2 = 0;
		 softPwmWrite (PIFACE,pwm_out1);
		 softPwmWrite (PIFACE+1,pwm_out2) ;
	 }else if (buf_control_comands.DirectionOfMotor < 50)
	 {
		 pwm_out1 = 0 ;
		 pwm_out2 = 100 *(50 - buf_control_comands.DirectionOfMotor);
		 softPwmWrite (PIFACE,pwm_out1);
		 softPwmWrite (PIFACE+1,pwm_out2) ;
	 }
	 else
	 {
		 pwm_out1=0;
		 pwm_out2=0;
		 softPwmWrite (PIFACE,pwm_out1);
		 softPwmWrite (PIFACE+1,pwm_out2) ;
	 }

	 if (buf_control_comands.rbi_dreapta  == 1 )
	 {
		 pwmWrite(1,45);
	 }
	 else if (buf_control_comands.rbi_stanga  == 1)
	 {
		 pwmWrite(1,105);

	 }
	 else
	 {
		 pwmWrite(1,75);
	 }


 }
开发者ID:cipbutacu,项目名称:aplicatie-finala,代码行数:48,代码来源:Motors.c


示例18: assert

void Motor::control(unsigned short level)
{
#ifndef NDEBUG
	assert(0 <= level && level <= 1000);
#endif
	pwmWrite(pin,levelToCtrl(level));
}
开发者ID:caigao,项目名称:flymaple-cpp,代码行数:7,代码来源:Motor.cpp


示例19: output_init

void output_init()
{
    pinMode(PWM_PIN,PWM_OUTPUT);
    /* 500/1000 = 0.5 duty cycle */

#if 1
    pwmSetRange(1000) ;
    pwmWrite(PWM_PIN, 500);
#else
    pwmSetRange(2600) ;
    pwmWrite(PWM_PIN, 800);
#endif

    pwmSetClock(252);

}
开发者ID:tanhangbo,项目名称:RaspberryIR,代码行数:16,代码来源:ir_encode.c


示例20: inputNormalizer

void Control::adjustMotorSpeed(int motor, double speed){
    double milliseconds = speed*(MaxTime-MinTime)+MinTime;
    milliseconds = inputNormalizer(milliseconds, MinTime, MaxTime);
    //printf("Milliseconds: %f", milliseconds);
    double tick = calcTicks(milliseconds, HERTZ);
    pwmWrite(PIN_BASE + motor, tick);
}
开发者ID:mmcglynn45,项目名称:PIFlightController,代码行数:7,代码来源:Control.cpp



注:本文中的pwmWrite函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ pwm_config函数代码示例发布时间:2022-05-30
下一篇:
C++ pwmStart函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap