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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 17-05-2014, 06:11 PM   #2
qloi
Đệ tử 3 túi
 
Tham gia ngày: Sep 2010
Bài gửi: 55
:
Tình hình là đã phát hiện ra chỗ sai .Do khai báo thiếu thanh ghi ANSELA và tình cờ xem cơ chế sinh mã của htpic mình phát hiện ra nó sinh mã sai các bác à. ví dụ:
Code:
while(rfin)
	{
		 __delay_us(5);
		 i++;
	}
theo trình tụ thì nó sẽ kiểm tra bít rfin nếu = 1 thì delay 5us và tăng i rồi quay lại kiểm tra bit rfin nếu =0 thì thoát .nhưng nó lại sinh code như thế này:
Code:
                        while(rfin)
   670    1A0C     BTFSS 0xc, 0x4
   671    2E7B     GOTO 0x67b
   67A    2E70     GOTO 0x670
74:                {
75:                	 __delay_us(5);
   672    3003     MOVLW 0x3
   673    00F6     MOVWF 0x76
   674    0BF6     DECFSZ 0x76, F
   675    2E74     GOTO 0x674
76:                	 i++;
   676    0020     MOVLB 0
   677    0AA4     INCF 0x24, F
   678    1903     BTFSC 0x3, 0x2
   679    0AA5     INCF 0x25, F
77:                }
78:                
79:                
   67B    0823     MOVF 0x23, W
mấu chốt là ở chổ hàm GOTO 0x67b GOTO 0x670.có vẻ như GOTO 0x670 đặt sai chổ(ở line 77 mới đúng). Mình không nghĩ một trình dịch chuyên nghiệp vậy mà bị lỗi này, các bác ai phát hiện ra lý do k.
__________________
heart.touching.2010@gmail.com!
qloi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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:30 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