PDA

View Full Version : Giúp mình code dễ mà sao cứ có lỗi


vanmuonchoi
09-04-2010, 12:16 PM
code như này mà sao có lõi các bác, mình đang dùng CCS ver 4.102d

#include <16F877.h>
#include <stdio.h>
#use delay(clock = 20000000)
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device PIC16F877*=16 ADC=8
#use rs232(baud=19200, parity=n, xmit=pin_C6, rcv=pin_C7)

int8 adc;
void main()
{
setup_ADC(ADC_CLOCK_INTERNAL);
setup_ADC_ports(AN0);
set_ADC_channel(0);
delay_us(10);
while(true)
{
adc=read_ADC();
output_B(adc);
printf("gia tri adc la %u",adc);
}
}

khi biên dịch thi được các thông báo lỗi sau:
Error 23.. Line 5: can not change device type this far into the code
Line 5: Expecting a (
Line 5: Expecting a declaration
Line 5: Expecting a (
Line 5: Expecting a declaraton

Vì mới tìm hiểu PIC được ít hôm nên mong được các bạn chi thêm.

Delfy_Coltech
09-04-2010, 04:56 PM
khi biên dịch thi được các thông báo lỗi sau:
Error 23.. Line 5: can not change device type this far into the code
Line 5: Expecting a (
Line 5: Expecting a declaration
Line 5: Expecting a (
Line 5: Expecting a declaraton

Vì mới tìm hiểu PIC được ít hôm nên mong được các bạn chi thêm.


Theo như thông báo là rõ rồi còn gì!
Bạn khai báo ADC sai.
#device PIC16F877*=16 ADC=8
Cái này phải là:


#device ADC*=8

vanmuonchoi
09-04-2010, 05:06 PM
Rất cảm ơn bạn, đúng là mới tìm hiểu nên chưa biết hết.
Bây giờ thì được rồi, mong tiếp tục nhận được sự giúp đỡ của các bạn

vanmuonchoi
09-04-2010, 05:24 PM
Rất cảm ơn bạn, đúng là mới tìm hiểu nên chưa biết hết.
Bây giờ thì được rồi, mong tiếp tục nhận được sự giúp đỡ của các bạn

sr bạn nhé, nhưng vẫn là cái lỗi đó, vẫn chưa sửa đc

cskiller
09-04-2010, 11:24 PM
Phải đặt dòng

#device PIC16F877*=16 ADC=8

ngay sau khai báo device:


#include <16F877.h>
#device PIC16F877*=16 ADC=8
...


Regards

vanmuonchoi
12-04-2010, 01:05 PM
dc rồi bạn ah, thks nhe

hoangtuan8911
18-11-2010, 07:58 AM
mình thì bị khác, mình để dòng #device ngay sau #include <16f877a.h> rồi, thì trong thư viện 16f877a.h báo lỗi y như vậy tại dòng #device PIC16F877A (cannot chang device type far into this code) chẳng biết phải làm sao. thư viện 16f877a của mình là:(lỗi tại dòng số 2)


//////// Standard Header file for the PIC16F877A device ////////////////
#device PIC16F877A
#nolist
//////// Program memory: 8192x14 Data RAM: 367 Stack: 8
//////// I/O: 33 Analog Pins: 8
//////// Data EEPROM: 256
//////// C Scratch area: 77 ID Location: 2000
//////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,DEBUG,NODE BUG
//////// Fuses: NOPROTECT,NOBROWNOUT,BROWNOUT,LVP,NOLVP,CPD,NOCPD, WRT_50%
//////// Fuses: NOWRT,WRT_5%,WRT_25%
////////
////////////////////////////////////////////////////////////////// I/O
// Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(),
// PORT_x_PULLUPS(), INPUT(),
// OUTPUT_LOW(), OUTPUT_HIGH(),
// OUTPUT_FLOAT(), OUTPUT_BIT()
// Constants used to identify pins in the above are:

hoangtuan8911
18-11-2010, 10:37 AM
fixed thanks anyway

bongbk
18-03-2011, 02:25 PM
các bạn cho mình xin thư viện 16F877.h . mình tìm mãi không thấy

caovanhuong
18-03-2011, 08:11 PM
các bạn cho mình xin thư viện 16F877.h . mình tìm mãi không thấy
file này thì vào ổ đĩa C/program files/PIC C/Devices/16F877.h
gửi lun cho bạn file 16F877.h (http://www.picvietnam.com/forum/attachment.php?attachmentid=4106&stc=1&d=1300453805)

lenam_vl
14-11-2011, 11:42 AM
Mình cũng bị lỗi như bạn hoangtuan8911 ah
#device PIC16F876A (cannot change device type far into this code)
Tuấn ơi cho mình hỏi bạn đã sữa lỗi như thế nào vậy.
Cảm ơn bạn nhiều!

conkhigia
15-11-2011, 09:55 PM
bạn Tuấn post bài cách đây 1 năm rồi! khả năng reply là rất ít

kenno
14-12-2011, 06:59 PM
Chào các bạn!
Mình đang tìm hiểu về pic 16f877a, mạch của mình có 1 nút nhấn (on/off) và 1 biến trở để điều khiển 1 led đơn giao tiếp với máy tính.
Mình làm mạch rồi mà chưa biết lập trình như thế nào. Mong các bạn chỉ giúp cho mình về giải thuật với.

dungks
14-04-2012, 11:08 AM
Em chào các anh,em mới học pic16f877,em có viết 1 code đơn giản nhưng bị lỗi em chưa biết sửa cách nào,mọi người giúp em nha.
Đây là code của em
#include "C:\Documents and Settings\Administrator\My Documents\b11\main adc.h"

#device *=16 ADC=8

#use delay(clock=10000000)
int adc_delay;

void hieu_chinh()
{
adc_delay=read_adc (0);
output_B(0);
delay_ms(adc_delay);
output_B(255);
delay_ms(adc_delay);
}
void main()
{
setup_ adc_post(AN0_AN1_AN3);
setup_ adc(adc_clock_internal);
set_ adc_chennel(0);
while(1)
{
hieu_chinh();
if(input(pin_C0))
{
output_B(0);
break;
}
}

}
em dung ccs complie
lỗi sảy ra là

Error 23.. Line 3(8,9): can not change device type this far into the code