![]() |
|
Tài trợ cho PIC Vietnam |
PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#11 |
Đệ tử 6 túi
|
char const mang[]="STUPID11"
for(i=0;i<20;i++) { portd=mang[i]; xuat(); delay_ms(5);//khỏi cần delay nếu làm mạch thật. } viết như thế này tương đương với việc xuất ra từng ký tự,bạn có thể viết như sau: portd="S"; xuat(); portd="T"; xuat(); portd="U"; xuat(); . . . viết như trên sẽ lâu hơn rất nhiều....thay vì như vậy bạn khai báo 1 mảng rồi xuất từng ký tự trong mảng đó ra..cấu trúc "for" đó bạn. -còn bạn viết: while(1) { portd=0x80; lenh(); portd=0x18; lenh(); delay_ms(20); } //hình như code này bạn nhầm thì phải,bạn xem lại thử coi. void main() { int i; int32 a; const char ten [] = "nhau"; set_tris_b(0); set_tris_d(0); khoitao(); tinh=0; delay_ms(20); tinh++;.... -Đoạn này có nghĩa là gì vậy hả bạn,có phải bạn muốn tự động tăng giá trị "tinh" lên hả.Bạn viết như vậy là ko được rồi.. -Với đoạn for(i=0;i<40;i++) { portd=0x80; lenh(); portd=tinh; xuat(); } Chỉ khi nào cần xuất 1 mảng thì mới sử dụng "for..".Còn ko thì chỉ đơn thuần xuất ra thôi. -Cái nữa bạn khai báo biến tính làm gì #byte tinh=0x20; ko nhất thiết phải khai như vậy đâu..bạn chỉ khai báo đơn giản như sau là đủ int tinh; //số nguyên 8bit int16 tinh; //số nguyên 16bit float tinh; //số thực 32 bit còn nếu khai báo kiểu bạn thì nên khai báo #locate tinh=0x20;như vậy địa chỉ này sẽ ko sử dụng vào mục đích khác đc nua~ thay đổi nội dung bởi: stupid11, 31-03-2011 lúc 09:45 PM. |
![]() |
![]() |
|
|