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 05-03-2008, 08:21 PM   #1
hanhluckyly
Đệ tử 4 túi
 
hanhluckyly's Avatar
 
Tham gia ngày: Mar 2006
Bài gửi: 83
:
PIC18F458 bị tự động reset

Có bạn nào đã gặp trường hợp này chưa , chương trình đang chạy được khoảng 2 phút tự nhiên PIC bị reset về trạng thái lúc đầu

Có bạn nào biết cách khắc phục , giúp mình với

Cám ơn rất nhiều
hanhluckyly vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 05-03-2008, 08:47 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hanhluckyly View Post
Có bạn nào đã gặp trường hợp này chưa , chương trình đang chạy được khoảng 2 phút tự nhiên PIC bị reset về trạng thái lúc đầu

Có bạn nào biết cách khắc phục , giúp mình với

Cám ơn rất nhiều
Bạn cấu hình cho PIC ra sao (có bật WDT hay không)? Bạn kết nối chân MCLR ra sao?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2008, 11:19 AM   #3
hanhluckyly
Đệ tử 4 túi
 
hanhluckyly's Avatar
 
Tham gia ngày: Mar 2006
Bài gửi: 83
:
Chào anh


Chân MCLR em dùng điện trở kéo lên thôi, em không bật WDT

Hiện tượng bị như sau

em dùng PIC18F458 để điều khiển tốc độ động cơ DC 24V(PWM) , em cho động cơ chạy không tải , thì sau một khoảng thời gian (thời gian không cố định) thì PIC tự động bị reset. Thay nhiều PIC cùng loại đều bị hiện tuộng như thế

em thật sự không hiểi tại sao cả!!
hanhluckyly vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2008, 12:53 PM   #4
0903579509
Đệ tử 4 túi
 
Tham gia ngày: Mar 2007
Nơi Cư Ngụ: Da Nang
Bài gửi: 69
:
Trước đây tôi thường viết phần mềm trên họ AT89 bằng hợp ngữ, việc vào ra CT con và kích hoạt ngắt không cẩn thận sẽ dẫn đến việc tràn ngăn xếp hoặc POP ngăn xếp không đúng, điều đó dẫn đến RESET hoạt vi điều khiển chạy không theo mong muốn.
0903579509 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2008, 02:09 PM   #5
hanhluckyly
Đệ tử 4 túi
 
hanhluckyly's Avatar
 
Tham gia ngày: Mar 2006
Bài gửi: 83
:
Bạn ơi bạn có thể cho mình 1 ví dụ như thế nào là
- Vào ra chương trình con 1 cách hợp lý
- Kích hoạt ngắt không cẩn thận là thế nào vậy bạn


-không biết là có khả năng này không: chương trình CCS bộ compile của nó bị lỗi
- Hay PIC là hàng sample khác với hàng không sample
hanhluckyly vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-03-2008, 03:48 PM   #6
falleaf
PIC Bang chủ
 
falleaf's Avatar
 
Tham gia ngày: May 2005
Bài gửi: 2,631
:
Send a message via Yahoo to falleaf
Trích:
Nguyên văn bởi hanhluckyly View Post
Bạn ơi bạn có thể cho mình 1 ví dụ như thế nào là
- Vào ra chương trình con 1 cách hợp lý
- Kích hoạt ngắt không cẩn thận là thế nào vậy bạn


-không biết là có khả năng này không: chương trình CCS bộ compile của nó bị lỗi
- Hay PIC là hàng sample khác với hàng không sample
Chỉ có cách em post chương trình em viết lên đây, còn lại thì không còn cách nào mà ngồi mò bệnh kiểu này được. Em thử đơn giản hoá chương trình, các phần không cần thiết, như bỏ các phần điều khiển, cứ cho PIC chay điều khiển động cơ ở PWM cố định thôi xem có xảy ra hiện tượng gì không. Bỏ hết các ngắt xem sao.

Kiểm tra từng lỗi một. Nếu không thể làm vậy, tốt hơn em nên gửi source code lên để mọi người cùng tham khảo, cái kiểu chẩn bệnh mò anh nghĩ mọi người cũng chán lắm rồi.

Chúc vui
falleaf vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2008, 08:54 PM   #7
hanhluckyly
Đệ tử 4 túi
 
hanhluckyly's Avatar
 
Tham gia ngày: Mar 2006
Bài gửi: 83
:
Anh Nam ơi anh có thể share giúp em chương trình nạp bootloader cua PIC18F458
20 MHz baud 115200 , trong đó anh tắt dùm em chức năng watch dog timer , em phát hiện ra hình như tất cả bootloader của PIC18F458 mà em có hình như đã config sẵn WDT là ON rồi

-Ah tiện thể anh cho em hỏi là nếu như khi nạp bootloader không có WDT thì trong chương trình CCSC mình có thể bật nó lên được không (hàm setup_WDT(ON) và ngược lại nếu nạp bootloader mà có WDT thì mình có thể disable nó được không?

Cám ơn anh rất nhiều
hanhluckyly vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2008, 10:30 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hanhluckyly View Post
Anh Nam ơi anh có thể share giúp em chương trình nạp bootloader cua PIC18F458
20 MHz baud 115200 , trong đó anh tắt dùm em chức năng watch dog timer , em phát hiện ra hình như tất cả bootloader của PIC18F458 mà em có hình như đã config sẵn WDT là ON rồi

-Ah tiện thể anh cho em hỏi là nếu như khi nạp bootloader không có WDT thì trong chương trình CCSC mình có thể bật nó lên được không (hàm setup_WDT(ON) và ngược lại nếu nạp bootloader mà có WDT thì mình có thể disable nó được không?

Cám ơn anh rất nhiều
Đã dịch bootloader theo yêu cầu của bạn (tôi gửi lên diễn đàn ngay sau khi dịch, nên chưa thử nghiệm bootloader với cấu hình này), những từ cấu hình đã thiết lập như sau:
Code:
	CONFIG	OSC = HS, OSCS = OFF
	CONFIG	PWRT = ON, BOR = ON, BORV = 27
	CONFIG	WDT = OFF, WDTPS = 128
	CONFIG STVR = ON, LVP = OFF, DEBUG = OFF
Về câu hỏi của bạn, nếu trong từ cấu hình chúng ta tắt WDT thì có thể bật/tắt WDT bằng phần mềm, thông qua bit SWDTEN của thanh ghi WDTCON. Hàm nào của CCS C cho phép làm việc này thì tôi không rõ, vì tôi không dùng CCS C. Bạn có thể thử nghiệm và post lên diễn đàn để giúp cho những bạn khác. Nếu trong từ cấu hình chúng ta bật WDT thì không thể tắt WDT bằng phần mềm.

Về vấn đề bạn đã gặp, không nhất thiết phải dùng bootloader khác, bạn chỉ cần thêm một lệnh xóa WDT vào vòng lặp chính là được.

Thân,
File Kèm Theo
File Type: zip TinyB18F458_20MHz_115200bps.zip (492 Bytes, 32 lần tải)
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-06-2011, 06:24 PM   #9
phamhoanganhbk
Nhập môn đệ tử
 
Tham gia ngày: Jan 2011
Bài gửi: 5
:
mọi người ơi cho mình hỏi với trong CCS phần cài đặt timer chỗ WDT có cái thanh ghi WDTCON có mấy cái để chọn là div by 2 div by 4, times 1 times 2 là như thế nào vậy ta. thanks mọi người nha
phamhoanganhbk 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:26 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