PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và 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

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 04-11-2013, 11:40 PM   #1
habach
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 5
:
[Help] [MLABX on Ubuntu] Code bật sáng LED, dịch thành công, Pic16f877A không chạy

Tình hình là mình mày mò suốt cả một ngày, hỏi Google, hỏi Microchip, hỏi nhiều nơi khác nữa mà không thể nào xác định được nguyên nhân ở đâu. Đành phải trình bày với các bác vấn đề như sau:

Mình mua một bộ PIC Kit V3 (Pic16f877A), kèm mạch nạp PicKit2 (Minh Hà banlinhkien.vn)
Máy tính mình chạy Ubuntu, đã cài MLABX IDE v1.95 và XC8 compiler thành công. Đã tạo được project và viết được code như sau:

Code:
// PIC16F877A Configuration Bit Settings

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

// CONFIG
#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)
#pragma config WDTE = OFF        // Watchdog Timer Enable bit (WDT enabled)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config BOREN = ON       // Brown-out Reset Enable bit (BOR enabled)
#pragma config LVP = ON         // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled)
#pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
#pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)

#include <xc.h>

#define _XTAL_FREQ  20000000

#include <stdio.h>
#include <stdlib.h>
#include <pic16f877a.h>

int main(int argc, char** argv) {
    TRISD=0x00; //Set Port D lam output
    PORTD=0xF8; //bat sang 3 den LED tai RD0, RD1, RD2    
    return (EXIT_SUCCESS);
}
Build không báo lỗi. Cho download xuống PICKit cũng ok, không thấy báo lỗi gì, đèn USB có nháy sáng chứng tỏ đã có giao tiếp, hơn nữa chương trình cũ trên chip đã bị xóa.
NHưng không biết tại sao các LED không chạy như ý đồ

Mình mới chân ướt chân ráo với Pic. Không biết làm thế nào nữa. Nhờ các bác chỉ giáo. Đa tạ!
habach vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-11-2013, 11:04 AM   #2
habach
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 5
:
Hôm nay lại tiếp tục mò tìm hiểu thêm. Mình cài đặt thêm Windows để dùng CCS lập trình. Kết quả là chạy thành công đúng ý muốn.

Nhưng Windows không phải là hệ điều hành mình dùng hằng ngày. Mình dùng Ubuntu đã lâu và vẫn tiếp tục sử dụng dài lâu. Nên mình muốn tìm hiểu tại sao cùng code như vậy viết trên CCS trong Windows thì chạy mà dùng MLABX trên Ubuntu thì không chạy??

TRong quá trình mò mẫm mình phát hiện thấy sự khác nhau về mã CONFIGURATIONS giữa hai IDE trên là: khi viết bằng MLABX trên Ubuntu, dịch và nạp xuống PIC, rồi đọc ngược lại mã Config thì thấy nó là: FFF9. Còn dùng CCS trên Windows, mã này là 2F0A.

Việc này vượt quá hiểu biết sơ khai của mình về PIC. Rất mong các bác chỉ cho nguyên nhân tại làm sao và cách khắc phục để code có thể chạy được. Xin đa tạ.

BÁc @falleaf ơi, bác @namqn ới...
habach vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-11-2013, 08:48 PM   #3
habach
Nhập môn đệ tử
 
Tham gia ngày: Nov 2013
Bài gửi: 5
:
Đã tìm ra nguyên nhân: Phải tắt Low-Voltage (Single-Supply) In-Circuit Serial Programming đi, như sau:

#pragma config LVP = OFF
habach 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à 10:23 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