Thai microtron community

Electronic Knowledge Base => Microcontoller & Electronics => Topic started by: dora304 on July 19, 2009, 01:32:41 PM



Title: เขียน ccs ให้ retrun ช่วยดู หน่อย มีปัญหา (servo)
Post by: dora304 on July 19, 2009, 01:32:41 PM
#include <16f877.h>
#fuses HS,NOPROTECT,NOWDT,NOLVP
#use delay(clock=10000000)
           void Read_VR(void)
           {
             int i;
             i=0;
             set_tris_a(0x00);
             delay_ms(10);
             while(true)
              {
              if(!input(PIN_A0))
              {
               i++;
              }     
               i=i/10;
              }
              return(i);
              }
พอสั่ง คอมไพล์ ทำมันฟ้องว่า ไม่ยอมคืนค่าฟังก์ชั่น   อันนี้ เป็นส่วนทดลองอะ ความจริงอยากเขียน โปรแกรม ที่ เอา vr1ตัวค่า250k มาควบคุมการหมุนของเซอร์ โว ที่ ดัดแปลงแล้ว1 ตัว  ใครพอจะทราบช่วยแนะนำหน่อยสิ


Title: Re: เขียน ccs ให้ retrun ช่วยดู หน่อย มีปัญหา (servo)
Post by: smitdh on July 20, 2009, 04:56:26 PM
ฟังชั่นของคุณ กำหนดค่า return เป็น void ครับ
void Read_VR(void)

จึงไม่สามารถ return ค่าได้ หากต้องการให้ return ค่าอย่างเช่น int ต้องกำหนดเป็น
int Read_VR(void)

ตัวอย่าง การอ่านค่าจาก ความต้านทานปรับค่าได้ เพื่อควบคุม servo ครับ
เวลาใช้งานให้ #include ให้ตรงกับเบอร์ที่ใช้งาน
แบบปุ่มกด
http://www.thaimicrotron.com/PIC/SERVO/SERVO_SW.htm
แบบปรับด้วย VR
http://www.thaimicrotron.com/PIC/SERVO/SERVO_VR.htm