PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC > Những câu hỏi thường gặp

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Những câu hỏi thường gặp Những lỗi cơ bản thường gặp khi làm việc với PIC hoặc những vấn đề cơ bản nhất thường được hỏi trong những năm qua

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 09-04-2010, 12:16 PM   #1
vanmuonchoi
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 4
:
Giúp mình code dễ mà sao cứ có lỗi

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.
vanmuonchoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2010, 04:56 PM   #2
Delfy_Coltech
Đệ tử 4 túi
 
Delfy_Coltech's Avatar
 
Tham gia ngày: Nov 2008
Nơi Cư Ngụ: Hanoi, Vietnam
Bài gửi: 78
:
Exclamation Lỗi khai báo ADC

Trích:
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.
Code:
#device PIC16F877*=16 ADC=8
Cái này phải là:

Code:
#device ADC*=8
__________________
Mechatronics Department
University of Engineering and Technology, VNUH.
Delfy_Coltech vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2010, 05:06 PM   #3
vanmuonchoi
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 4
:
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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2010, 05:24 PM   #4
vanmuonchoi
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 4
:
Trích:
Nguyên văn bởi vanmuonchoi View Post
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
vanmuonchoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-04-2010, 11:24 PM   #5
cskiller
Đệ tử 4 túi
 
Tham gia ngày: Aug 2008
Bài gửi: 89
:
Phải đặt dòng
Code:
#device PIC16F877*=16 ADC=8
ngay sau khai báo device:

Code:
#include <16F877.h>
#device PIC16F877*=16 ADC=8
...
Regards
__________________
Quang báo RG/RGB 6/8/12/16 bits màu
Phone No: 0905.034.086
Email: lmquyen@gmail.com
cskiller vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-04-2010, 01:05 PM   #6
vanmuonchoi
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 4
:
dc rồi bạn ah, thks nhe
vanmuonchoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2010, 07:58 AM   #7
hoangtuan8911
Nhập môn đệ tử
 
Tham gia ngày: Oct 2010
Bài gửi: 5
:
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 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-11-2010, 10:37 AM   #8
hoangtuan8911
Nhập môn đệ tử
 
Tham gia ngày: Oct 2010
Bài gửi: 5
:
fixed thanks anyway
hoangtuan8911 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-03-2011, 02:25 PM   #9
bongbk
Nhập môn đệ tử
 
Tham gia ngày: Apr 2010
Bài gửi: 3
:
các bạn cho mình xin thư viện 16F877.h . mình tìm mãi không thấy
bongbk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-03-2011, 08:11 PM   #10
caovanhuong
Đệ tử 2 túi
 
caovanhuong's Avatar
 
Tham gia ngày: Jul 2009
Bài gửi: 40
:
Trích:
Nguyên văn bởi bongbk View Post
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
File Kèm Theo
File Type: zip 16F877.zip (2.8 KB, 161 lần tải)
__________________
Cao Văn Hưởng
SĐT: 01672754113
Email: caovanhuong@webdien.com
Nhận thiết kế mạch điện tử, PCB (Orcad)

caovanhuong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-11-2011, 11:42 AM   #11
lenam_vl
Nhập môn đệ tử
 
Tham gia ngày: Oct 2011
Bài gửi: 6
:
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!
lenam_vl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-11-2011, 09:55 PM   #12
conkhigia
Nhập môn đệ tử
 
Tham gia ngày: Oct 2011
Bài gửi: 7
:
bạn Tuấn post bài cách đây 1 năm rồi! khả năng reply là rất ít
conkhigia vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-12-2011, 06:59 PM   #13
kenno
Nhập môn đệ tử
 
Tham gia ngày: Sep 2010
Bài gửi: 2
:
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.
kenno vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-04-2012, 11:08 AM   #14
dungks
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 2
:
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
dungks vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 01:48 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam