ช่วยด้วยครับ....คอมไพล์แล้วerror
LSVคลังสมองออนไลน์ "ปีที่14"
พฤศจิกายน 25, 2024, 11:51:39 pm *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
 
   หน้าแรก   ช่วยเหลือ เข้าสู่ระบบ สมัครสมาชิก  
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน หัวข้อ: ช่วยด้วยครับ....คอมไพล์แล้วerror  (อ่าน 5796 ครั้ง)
got_extra
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 73


อีเมล์
« เมื่อ: กรกฎาคม 24, 2010, 08:46:14 pm »

int conv7segment(in number);
main()
 {
  int i;
  TRISB = 0x00;
  CMCON = 0x07;
  while(1)
  {
    for(i=0;i<10;i++)
   {
   PORTB=(i);
    while(PORTA.F0==1);
   {
   }
     Delay_ms(1000);
    }
  }
}
int conv7segment(int number);
{
  switch (number);
  {
   case 1; return 0x06;
   case 2; return 0x5b;
   case 3; return 0x4f;
   case 4; return 0x66;
   case 5; return 0x6d;
   case 6; return 0x7d;
   case 7; return 0x07;
   case 8; return 0x7f;
   case 9; return 0x6f;
   case 0; return 0x3f;
   }
}

ตามนั้นครับคอมไพล์แล้วerror ต้องแก้ตรงไหนอีกครับ...... cry2!!


บันทึกการเข้า

kiano♥
kiano555@gmail.com
กลุ่มสนับสนุนLSV+มีน้ำใจ
member
****

คะแนน337
ออฟไลน์ ออฟไลน์

กระทู้: 570


การให้น่าภูมิใจกว่าได้รับ Line ID : Tech64

kiano555@windowslive.com kiano555@yahoo.com
เว็บไซต์ อีเมล์
« ตอบ #1 เมื่อ: กรกฎาคม 24, 2010, 10:28:36 pm »

แก้หลายที่ ดูเปรียบเทียบเองแล้วกัน
ทำไมไม่ลองดูว่ามันเออเร่ออย่างไร แล้วค่อยๆไล่ไป
ฟังก์ชั่น conv7segment เขียนขึ้นมาแต่ไม่มีการเรียกใช้งาน งง
ถ้าไม่รู้ว่าจะแก้อย่างไร ก็ลองเขียนทีละน้อยๆ แล้วกดคอมไพไปเรื่อยๆครับ

int conv7segment(int number);
main()
 {
  int i;
  TRISB = 0x00;
  CMCON = 0x07;
  while(1)
  {
    for(i=0;i<10;i++)
   {
   PORTB=(i);
    while(PORTA.F0==1)
   {
   }
     Delay_ms(1000);
    }
  }
}
int conv7segment(int number)
{
 switch (number)
  {
   case 1: return 0x06;
   case 2: return 0x5b;
   case 3: return 0x4f;
   case 4: return 0x66;
   case 5: return 0x6d;
   case 6: return 0x7d;
   case 7: return 0x07;
   case 8: return 0x7f;
   case 9: return 0x6f;
   case 0: return 0x3f;
   }
}
บันทึกการเข้า
got_extra
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 73


อีเมล์
« ตอบ #2 เมื่อ: กรกฎาคม 24, 2010, 11:14:18 pm »

ขอบคุณมากครับทำได้แล้ว........ lv!

แล้วถ้าจะสั่งให้ตรง case 1: return 0x06; (แสดงเป็นเลข1) มันกระพริบจะทำได้เปล่าครับต้องใช้คำสั่งอะไรรบกวนหน่อยครับ.....(พึงเล่นpicได้3วันเองแต่เริ่มชอบแล้ว..อิอิ) ping!
บันทึกการเข้า
kiano♥
kiano555@gmail.com
กลุ่มสนับสนุนLSV+มีน้ำใจ
member
****

คะแนน337
ออฟไลน์ ออฟไลน์

กระทู้: 570


การให้น่าภูมิใจกว่าได้รับ Line ID : Tech64

kiano555@windowslive.com kiano555@yahoo.com
เว็บไซต์ อีเมล์
« ตอบ #3 เมื่อ: กรกฎาคม 25, 2010, 07:44:25 am »

ให้ทดลองกับโค๊ดนี้นะ
//
//   counter 0~9 PIC16F628
//                          0 1  2  3  4   5   6   7  8   9
unsigned const number[10]={63,6,91,79,102,109,125,39,127,111};

main(){
char i;
cmcon=0x07;
trisA=0x00;
trisB=0x00;
while(1){
  i++;
  if(i>=10){
    i=0;
  }
  portB=number[ไอ];
  delay_ms(500);
  portB=0x00;
  delay_ms(500);
} // end while(1)
} // end main
บันทึกการเข้า
got_extra
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 73


อีเมล์
« ตอบ #4 เมื่อ: กรกฎาคม 25, 2010, 09:44:16 am »

แบบนี้คอมไพล์ผ่าน แต่พอมาต่อวงจรไม่มีอะไรเกิดขึ้นเลยครับงง........ผมใช้PIC16F627Aครับ.............
บันทึกการเข้า
got_extra
member
*

คะแนน0
ออฟไลน์ ออฟไลน์

กระทู้: 73


อีเมล์
« ตอบ #5 เมื่อ: กรกฎาคม 25, 2010, 05:24:50 pm »

แบบข้างบนผมต่อวงจรแล้วไม่เกิดอะไรเลยครับ.....คอมไฟล์ก็ผ่าน....

*****
ถ้าจะลองแบบนี้ได้เปล่าครับ.....(เป็นไฟได้กระพริบ3รูปแบบมีสวิสกดเปลี่ยนรูปแบบ).หรือจะต้องแก้ตรงไหนอีกครับเพราะผมคอมไฟล์แล้วผ่านแต่ต่อวงจรไม่มีอะไรเกิดขึ้น....ป.ล.ผมใช้pic 16F627A ใช้คลิสตอล 4MHz. ต่อสวิสเปลี่ยนรูปแบบเข้าที่ขา17   
 
main()
{
  char p=0;       
  cmcon=0x07;   
  portA=0xFF;     
  portB=0x00;     
  while(1)
  {
    if(portA.f0==0)
    {
      p++;
      while(portA.f0==0)
      {
        portB=0xFF;       
      }
      if(p>2)
      {
        p=0;
      }
    }
    if(p==0)                   
    {
      portB=0b11111111;
      delay_ms(500);
      portB=0b00000000;
      delay_ms(500);
      portB=0b00001111;
      delay_ms(500);
      portB=0b11100000;
      delay_ms(500);
    }
else
{
    if(p==1)                 
    {
      portB=0b11110000;
      delay_ms(500);
      portB=0b00001111;
      delay_ms(500);
      portB=0b11111111;
      delay_ms(500);
      portB=0b00000000;
      delay_ms(500);
    }
else
{                 
      portB=0b11000000;
      delay_ms(500);
      portB=0b00110000;
      delay_ms(500);
      portB=0b00001100;
      delay_ms(500);
      portB=0b00000011;
      delay_ms(500);
    }
    }
 
  }
}
void timer(void)
{
  delay_ms(100);
}

บันทึกการเข้า
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

Powered by MySQL Powered by PHP Powered by SMF 1.1 RC2 | SMF © 2001-2006, Lewis Media

lsv2555Please follow the new website at https://www.pohchae.com

Valid CSS!