พิมพ์หน้านี้ - มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที

LSVคลังสมองออนไลน์ "ปีที่21"

► อิเล็กทรอนิกส์ ► => หุ่นยนต์-pcb-เทคโนโลยี่ใหม่ => ข้อความที่เริ่มโดย: anatomy2 ที่ มกราคม 15, 2008, 10:32:36 PM



หัวข้อ: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 15, 2008, 10:32:36 PM
ใครแก้ ปัญหาของ Mikro C ได้บ้างครับ
ช่วยที result is not defined function: main ของเวอร์ชั้น 6กับ7ครับ
อันนี้ของเวอร์ชั่น 5.0.3 ครับ ขึ้นว่า Did not find source file c:\ Program File
\Mikroelektronika\mikroc\uses\p16\rs485_m_e.c.c งงครับใครเคยเจอแล้วแก้ได้บ้างครับ
สงสารผมเถอะครับ โปรเจ็คจะซ้ำอีกปีแล้ว


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: ถาวร-LSVteam ที่ มกราคม 16, 2008, 07:45:19 AM
ลงใหม่ครับเหมือนไฟล์มันหายไปนี่ครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: อาชีพอิสระ ที่ มกราคม 16, 2008, 09:07:23 AM
เป็นเวอร์ชั่นเต็มหรือเปล่าครับ ถ้าเป็นเดโม ไฟล์ใหญ่มันไม่รับนะครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 16, 2008, 02:22:55 PM
น่าจะเกี่ยวกับ function หรือเขียนผิดไวยกรณ์ก็เป็นได้ หรือไม่ก็เรียกใช้ function ที่มันไม่มีอยู่จริง และมีการเรียกใช้งาน function จาก rs485_m_e.c.c
ตัวนี้ด้วยแต่มันหา source file ไม่เจอมันก็เลยเป็นเช่นนี้แล การแก้ไขก็คือ program มันต้องการ file ใดก็หามาใส่ให้ครบ ก็น่าจะ ok นะครับ
ไม่งั้นก็เปรี่ยนเป็น hitec C ไปเลย MPLAB v8 ก็มีมาให้แล้ว ลองดูครับ :)


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 16, 2008, 05:04:55 PM
รบกวนพี่ JUB ทีได้ไหมครับ พอจะมี MikroC ตัวที่แครกแล้วบ้างไหมครับที่สามารถใช้งานได้เจ๋งๆสักตัวไหมครับ
จะตกโปรเจ็คแล้วครับสงสารด้วยเถอะครับ

ผมแนบไฟล์มาให้ ลองแปลงเป็น .HEX ดูทีน่ะครับว่าแปลงได้ไหม  เมื่อสัก3อาทิตย์ที่ผ่านมาก็เขียนแบบนี้น่ะครับแล้วก็
คอมไฟเลอร์แปลงเป็น .HEXได้หมด หลังจากนั้นไม่ได้เล่นสัก3อาทิตย์ มาคอมไฟเลอร์อีกทีก็ไม่ได้งงมากครับ
 ผมว่าที่เขียนถูก100% เพราะผมเอามาจาก CD ของ หนังสือ I-Styte อ่ะครับช่วยชี้แนะทีครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 16, 2008, 05:56:31 PM
PIC เบอร์อะไรครับ ผมเดาว่าเบอร์ 16F628A นะ ถ้าเบอร์อื่นก็บอกด้วย ดึกๆจะมาดูครับ ถ้าบอกค่า Device config มาด้วยก็ยิ่งดีครับ :)


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 16, 2008, 07:29:26 PM
PIC16F628A                       คริสตอล  4Mhzครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 16, 2008, 07:32:36 PM
พี่จุ๊ป ครับ มันจะเกี่ยวกัยการที่เราต้องค่า ดีไวท์ แฟลก รึเปล่าครับ   แต่ผมก็กด  ดีฟ้อร์   ให้มันเลือกค่าเองตอมที่ตั้งมาน่ะครับ
ชี้แนะทีน่ะครับ ??? :o


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 16, 2008, 07:49:34 PM
พี่ JUB ครับ ของพี่ทำได้แล้วของผมมันมีปัญหา หล่ะครับ งง ทำไงดี :( งงแล้วๆ   ของ ลอง Build ตัวนี้ให้อีกทีครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 17, 2008, 12:04:57 AM
พี่จุ๊ป ครับ มันจะเกี่ยวกัยการที่เราต้องค่า ดีไวท์ แฟลก รึเปล่าครับ   แต่ผมก็กด  ดีฟ้อร์   ให้มันเลือกค่าเองตอมที่ตั้งมาน่ะครับ
ชี้แนะทีน่ะครับ ??? :o

ถูกต้องแล้วครับ บางครั้งการใช้ค่า default ก็ไม่ถูกเสมอไป ต้องดูว่า program เราเป็นยังไงด้วยครับ ตัวแรก คุณกำหนด clock 8Mhz
ผมแก้ให้เป็น 4Mhz ตัวที่สองไม่ได้กำหนดมา มันก็เลยฟ้องว่า คุณกำหนด clock ไว้ที่ 000.00000 ไม่ได้ มันก็เลย compile ไม่ได้
ก็มีเท่านี้แหละครับ จริงๆผมไม่ค่อยรู้เรื่อง ภาษา C มากนัก ไม่แน่ว่างๆผมอาจให้คุณมาสอนผมมั่งก็ได้ ;D

ถ้าไม่ work ยังไงตอนเช้าผมจะมาดูครับ ถ้าใช้ได้แล้วก็บอกด้วย :)


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 17, 2008, 05:27:35 PM
 พี่JUB ครับ ใช้โปรแกรมเดียวกับผมเลยรึเปล่าครับ หากใช้โปรแกรมเดียวกัน ผมรบกวน ก๊อปปี้โฟล์เดอร์ ที่ชื่อว่า
P16  ในโปรแกรมทีได้ไหมครับจะลองเอามาลงทับของผมดูว่าจะได้รึเปล่าอ่ะครับ
ขอบคุณล่วงหน้าครับ ??? :(


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 17, 2008, 07:13:07 PM
Mikro C Full version www.tailieuvietnam. net/download/PICSoft/MikroC_503.zip


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 17, 2008, 08:37:36 PM
พี่ JUB ครับ ผมชักจะสนใจโปรแกรม ไฮเทค ซ่ะล่ะพอจะมีให้ดาวโหลดไหมครับ MPLAB ด้วยอ่ะครับ
ใช้ยังไม่เป็นแต่ก็จะลองดูซักตั้งหล่ะครับ
รบกวนด้วยน่ะครับ
เอ ไฮเทคนี่ มีตัวที่ แครกแล้วไหมครับ :o


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 17, 2008, 09:32:44 PM
Hitec C ที่มากับ MPLAB เป็นรุ่น Lite ครับใช้ได้ดีทีเดียวไม่ต้อง crack ของผมมี Full version แต่เป็น dS PIC ของ P16 ไม่มีเลย :'(
อยากได้MPLABก็ตามนี้เลยครับ ww1.microchip.com/downloads/en/DeviceDoc/MPLAB_v8.zip


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 17, 2008, 09:46:09 PM
พี่ JUB ครับ ไมทราบว่าพี่เคยเจอเหมือนผมไหมครับ    ตอนนี้ Build ได้เบอร์เดียวครับ PIC16F827A คริสตอล 4Mhz
แต่ พอได้ไฟล์ .HEX เบิร์นลงเรียบร้อย  นำมาต่อในวงจร แล้วทดสอบการทำงาน แล้วการทำงานเนือบไปหมดเลยอ่ะครับผมไม่เข้าใจว่า คริสตอลเสียรึเปล่า ลองเปลี่ยนก็เหมือนเดิม งง มึนตึปเลยงง
ผู้รุ้ช่วยทีครับ  จาด๊อปอีกปีแล้ว :( >:(


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: JUB ที่ มกราคม 18, 2008, 12:50:43 AM
อยากจะช่วยเหมือนกัน แต่ข้อมูลมันน้อยไปครับ ทางที่ดีเอา code และวงจร แล้วบอกการทำงานมาด้วยก็จะดีมาก :)


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 20, 2008, 05:28:12 PM
พี่ ๆครับ ผมอยากจะแปลง  Code นี้ให้ไปใช้กับ โปรแกรม CCS C ได้ ต้องทำอย่างไรบ้างครับ

void ARM0 (void);
void ARM1 (void);
main()
{
 TRISB = 0x00;
 while(1)
 {
  ARM0();
  ARM1();
 }
}
void ARM0 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}
void ARM1 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}



จะแก้ไขอย่างไรดีครับให้เอาไปเขียนใน CCS C ได้


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 20, 2008, 05:29:41 PM
ขึ้นได้แต่หัวมันอ่ะครับดูในหนังสือ แฮๆ ;D

/**************************************************************************/
#include <16F628A.h>
/**************************************************************************/
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
/**************************************************************************/
ต่อให้ทีครับ   ในหนังสือมีตัวอย่าง1ฟังก์ชั่นอ่ะครับแล้ว2ฟังก์ชั่นผมก็งงอีกแล้ว แฮๆ ชี้แนะทีครับ :o ;D ??? :(


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: kangauto ที่ มกราคม 21, 2008, 12:18:02 AM
/#define _PIC16F877_           // Use PIC16F877 device

#ifdef _PIC16F877_
#include <16F877.h>           // Standard Header file for the PIC16F877 device
#define  TxD         PIN_C6   // Define Transmitted Data
#define  RxD         PIN_C7   // Define Received Data
#define  CLOCK_SP   20000000  // Clock Speed(Hz)

#else
#include <16F628.h>           // Standard Header file for the PIC16F628 device
#define  TxD         PIN_B2   // Define Transmitted Data
#define  RxD         PIN_B1   // Define Received Data
#define  CLOCK_SP   4000000   // Clock Speed(Hz)

#endif

// Device Specification
#fuses HS                     // Oscillator mode HS
#fuses NOLVP, NOWDT           // No Low Voltage Program, No Watchdog timer
#fuses NOPROTECT              // Code no protection
#use delay (clock=CLOCK_SP)   // Use built-in function: delay_ms() & delay_us()
#use rs232(baud=9600, xmit=TxD,rcv=RxD) // Use serial I/O port (RS232)

/***********************************************************************
 *   Constants
 ***********************************************************************/



/***********************************************************************
 * FUNCTION:    Main
 * DESCRIPTION: This is the main entry point for the program.
 * PARAMETERS:  nothing
 * RETURNED:    nothing
 ***********************************************************************/
void ARM0 (void);
void ARM1 (void);
main()
{
 TRISB = 0x00;
 while(1)
 {
  ARM0();
  ARM1();
 }
}
void ARM0 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}
void ARM1 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}



ตัวอย่างนะครับ


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 21, 2008, 05:10:04 PM
พี่ครับมันชี้ errors ที่ /#define _PIC16F877_           // Use PIC16F877 device
อ่ะครับ
 :( :o


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: Pi_Po ที่ มกราคม 22, 2008, 01:11:58 PM
ลบ / ออกครับ สงสัยคุณจะศึกษาในหนังสือ  CCS C ใช่ไหมครับ ถ้าเราเจาะจงใช้ไอซีเบอร์อะไรก็เจาะจงไปเลยก็ได้ จะได้ประหยัดเวลา
#include <16f877>


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 23, 2008, 08:49:44 PM
พี่ครับ หากว่าเอา / ด้านหน้าออก มัน errors หมดเลยอ่ะครับ ??? :(


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: Pi_Po ที่ มกราคม 24, 2008, 12:07:23 PM
ในหนังสือเค้ากำหนดให้เลือกใช้เบอร์ไหนก็ได้ ระหว่าง 16f877 กับ 16f628 มันจะทำให้หัวโปรแกรมในการกำหนดค่ายาว และสับสนนิดๆ เรากำหนดใช้ตัวเดียวดีกว่าครับ.........วันหลังถ้าจำเป็นค่อยทำให้มันใช้ได้หลายตัว บางทีอาจ ผิดพลาดจากจุดอื่นก็ได้ครับ
   ถ้าผมใช้เบอร์ 16f877 น่ะครับ เอาแค่หัวโปรแกรมน่ะครับ

#include <16f877.h>
#fuses HS, NOLVP, NOWDT, NOPROTECT
#use delay (clock = 20000000)         //เอาแค่นี้ก็รันโปรแกรมได้ครับ สำหรับหัวโปรแกรม
                                                                    //ผมไม่กำหนดการใช้ RS232 น่ะครับ ถ้าไม่ใช้ก็ไม่กำหนดก็ได้ครับ
/***************** แล้วก็เริ่ม กำหนดค่าตัวแปร และเขียนโปรแกรมได้เลยครับ****/                     
/************************Constants******************/
.
.
.
.
.





หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: anatomy2 ที่ มกราคม 30, 2008, 07:31:54 PM
แล้วตัวอย่าง แบบนี้จะเอาไปเขียนใน CCS C ได้ยังไงหรอครับ  พี่ PI_PO
void ARM0 (void);
void ARM1 (void);
main()
{
 TRISB = 0x00;
 while(1)
 {
  ARM0();
  ARM1();
 }
}
void ARM0 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}
void ARM1 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}
 :o


หัวข้อ: Re: มีปัญหา กับ โปรแกรม Mikro C ครับช่วยแก้ที
เริ่มหัวข้อโดย: Pi_Po ที่ กุมภาพันธ์ 04, 2008, 09:38:03 AM
#include <16f877a.c> //แล้วแต่ว่าจะใช้เบอร์อะไรน่ะครับ
#fuses HS,NOWDT,NOPROTECT
#use delay (clock=4000000) //ในที่นี้ใช้คริสตอล 4 MHz น่ะครับ

void main()
{
 TRISB = 0x00;
 while(1)                   // หรือ while (TRUE) ก็ได้ครับ
 {
  ARM0();
  ARM1();
 }
}
void ARM0 (void)      //ถ้าในวงเล็บเราใส่ void ไปแล้วบางทีไม่ต้องประกาศตรงหัวโปรแกรมก็ได้ครับ แต่ถ้าไม่ใส่ต้องประกาศครับ
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
    PORTB = 0x3F;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}
void ARM1 (void)
{
 int a;
 for (a=0;a<=10;a++)
 {
     PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
   PORTB = 0x38;
   Delay_ms(300);
   PORTB = 0x00;
   Delay_ms(700);
  }
}