[MENTION=45]queduong[/MENTION] : Bản em xài là 4.114. Rất tiếc là e kiếm ko ra bản 5.11 để test thử. E đã thử thay #use delay(clock= 4000000) với #use delay(internal = 4000000) Kết quả thật tế với mạch của e là ko thay đổi. Hàm delay_ms() gần như ko đc xét tới, mặc dù nó có dịch ra đàng hoàng.
.................... putc('A');
[MENTION=60991]duong_act[/MENTION] : Em ko rõ chỗ 31KHz là sao, nhưng với 31Khz làm sao tạo được tốc độ baud 9600 được. Và giả sử nếu PIC này chạy mặc định là 31Khz. E khai báo OSC là 4MHz, thì đáng lẽ nó phải chạy chậm đi mới đúng chứ ???
Ở đây e phát hiện là nó chỉ sai ở chỗ delay thôi, giống như là trình biên dịch bỏ hẳn chỗ này lun thì phải, còn những lệnh khác (tất nhiên là ko thử hết đc) thì vẫn chưa thấy sai chỗ nào cả.
.................... putc('A');
Code:
0168: MOVLW 41 0169: MOVLB 01 016A: MOVWF 20 016B: MOVLB 00 016C: GOTO 0BA .................... delay_ms(1000); 016D: MOVLW 04 016E: MOVLB 01 016F: MOVWF 20 0170: MOVLW FA 0171: MOVWF 21 0172: MOVLB 00 0173: GOTO 0E4 0174: MOVLB 01 0175: DECFSZ 20,F 0176: GOTO 170
Ở đây e phát hiện là nó chỉ sai ở chỗ delay thôi, giống như là trình biên dịch bỏ hẳn chỗ này lun thì phải, còn những lệnh khác (tất nhiên là ko thử hết đc) thì vẫn chưa thấy sai chỗ nào cả.
Comment