PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-08-2010, 10:50 AM   #1
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Các vấn đề về __CONFIG trong HTPIC

Đối với người mới vào nghề PIC thì việc hiểu rõ và sử dụng macro __CONFIG cho các bit cấu hình là vấn đề quan trọng. Vậy mong các bạn giới thiệu kỹ hơn.
Cám ơn nhiều.

thay đổi nội dung bởi: semipower, 06-08-2010 lúc 01:49 PM.
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2010, 10:57 AM   #2
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Các vấn đề cần quan tâm khi mới lập trình như:
- Bản chất __CONFIG tác động đến phần cứng nào của PIC
- Cách dùng __CONFIG
- Bắt buộc phải khai báo những config nào (FOSC, WDT...)
- Tổng hợp tất cả các vấn đề về config
Mong các bạn chỉ giúp.
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2010, 12:54 PM   #3
buiminhquy
Đệ tử 1 túi
 
Tham gia ngày: Mar 2009
Bài gửi: 14
:
Trích:
Nguyên văn bởi semipower View Post
Các vấn đề cần quan tâm khi mới lập trình như:
- Bản chất __CONFIG tác động đến phần cứng nào của PIC
- Cách dùng __CONFIG
- Bắt buộc phải khai báo những config nào (FOSC, WDT...)
- Tổng hợp tất cả các vấn đề về config
Mong các bạn chỉ giúp.
cái này đúng là phải tìm hiểu kỹ. vì nó khởi điểm cho việc lập trình sau này.
mình cũng ko hiểu vấn đề này lém!
cám ơn!
buiminhquy vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2010, 01:50 PM   #4
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
-Mình thấy có chương trình dùng __CONFIG, có lúc lại không?
-Mình lập trình không dùng __CONFIG, khi nạp bằng PK2 nó yêu cầu dùng MPLAB để Export file Hex chứa thông tin config. Tức là các thông tin đó được tạo ra tự động?
-Các thông tin config này có vai trò như các fuse (cầu chì?) tức là đã nạp một lần rồi thì không sửa được?
-Tại sao giữa các bit cấu hình toàn dùng toán tử & (AND theo bit), trong khi các bit đó có thể là 0 hoặc 1?
Thank!

thay đổi nội dung bởi: semipower, 07-08-2010 lúc 04:58 PM.
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2010, 06:29 PM   #5
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Sau một thời gian nghiên cứu, mình rút ra mấy điều sau:
- __CONFIG là một macro cho phép thiết lập các bit cấu hình ngay trong file nguồn. Do đó sau khi biên dịch các thông tin cấu hình được chứa ngay trong file hex. Nếu dùng AVR thì việc thiết lập cấu hình được thực hiện khi nạp chip (không chứa trong file hex).
- Các từ cấu hình nằm ngoài vùng bộ nhớ chương trình người dùng (vùng nhớ được trỏ bởi bộ đếm chương trình PC). Ví dụ PIC16F886 có bộ đếm chương trình 13bit do đó không gian chương trình là 2^13=8K (từ địa chỉ 0000h đến 1FFFh). Trong khi từ cấu hình lại ở địa chỉ 2007h và 2008h. Vì vậy không thể truy cập được từ cấu hình trong khi thực hiện lệnh.
- Sau khi xoá chip, các bit cấu hình có giá trị 1. Vì vậy dùng toán tử & là hợp lý. Vì 1&bit=bit.
- Có thể sửa đổi các bit cấu hình nhiều lần (không như cầu chì, đứt rồi thì thôi).
-...?

thay đổi nội dung bởi: semipower, 10-08-2010 lúc 04:00 PM.
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-08-2010, 06:30 PM   #6
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Đây là tài liệu tham khảo.
File Kèm Theo
File Type: pdf config.pdf (81.6 KB, 285 lần tải)
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 10-08-2010, 03:58 PM   #7
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Thắc mắc về macro __CONFIG ?

Trong file pic.h có định nghĩa macro __CONFIG như sau:
#define __CONFIG(x) asm("\tpsect config,class=CONFIG,delta=2");\
asm("\tdw "___mkstr(x))

Các bạn có thể giải thích phần asm giúp mình được không. Thank!
semipower vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-09-2010, 09:52 PM   #8
semipower
Đệ tử 5 túi
 
semipower's Avatar
 
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: Hà Nội, VIE
Bài gửi: 114
:
Trích:
Nguyên văn bởi semipower View Post
Trong file pic.h có định nghĩa macro __CONFIG như sau:
#define __CONFIG(x) asm("\tpsect config,class=CONFIG,delta=2");\
asm("\tdw "___mkstr(x))

Các bạn có thể giải thích phần asm giúp mình được không. Thank!
Tôi đã tìm hiểu nhưng vẫn không giải thích được các khai báo này. Mong các bạn giúp. Thank.
__________________
Vì sao nên đọc tài liệu tiếng Anh?
http://www.picvietnam.com/forum/showthread.php?t=6819
Nguồn xung các loại: www.semitech.vn
semipower 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à 04:17 PM.


Đượ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