PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC Việt Nam - Chuyên nghiệp (http://www.picvietnam.com/forum/forumdisplay.php?f=35)
-   -   Cho em hỏi đoạn code này với (http://www.picvietnam.com/forum/showthread.php?t=10201)

leodalat 16-07-2011 09:01 PM

Cho em hỏi đoạn code này với
 
Code này viết bằng MikroC Pro for Pic, em ko hiểu mấy dòng này các bác giải thích giúp em với
Đoạn này là code truyền chuỗi ra Usart
while (*str!='\0')
{
Uart1_Write(*str);
str++;
}
Đoạn này nữa
temp=noi_dung[9]-48;
temp<<=(noi_dung[7]-48);
temp1=~(1<<(noi_dung[7]-48));
PORTA=(PORTA&temp1)|temp;
while((i!=0x0d)||(j==0))
Cảm ơn mọi người nhiều

dazaiger 17-07-2011 12:10 AM

while (*str!='\0') // lặp đến khi gặp kí tự hết chuỗi (gặp kí tự rỗng \0)
{
Uart1_Write(*str); //viết kí tự mà con trỏ str trỏ đến
str++;//Tăng con trỏ lên 1
}
//Đoạn code này là xuất một chuối kí tự ra UART sử dụng con trỏ
///////////////////////////////////////////////////////////////////////////
temp=noi_dung[9]-48; //chuyển kí tự noi_dung[9] sang số DEC sau đó gán vào biến temp
temp<<=(noi_dung[7]-48); //temp dịch trái noi_dung[7] bit
temp1=~(1<<(noi_dung[7]-48)); //noi_dung[7] dịch trái 1 bit sau đó lấy phần bù gán vào biến temp1
PORTA=(PORTA&temp1)|temp;
while((i!=0x0d)||(j==0))
Em giải thích như thế có gì sai các bác pro chỉnh lại nhé.

leodalat 17-07-2011 01:52 PM

cảm ơn bác nhiều, nhưng còn mấy chỗ em chưa hiểu lắm
temp=noi_dung[9]-48; //chuyển kí tự noi_dung[9] sang số DEC sau đó gán vào biến temp ----> số DEC là số gì vậy bác ?
temp1=~(1<<(noi_dung[7]-48)); //noi_dung[7] dịch trái 1 bit sau đó lấy phần bù gán vào biến temp1 ---------> bác giải thích giúp em phần bù là phần như thế nào ?
còn 2 dòng này nữa
PORTA=(PORTA&temp1)|temp;
while((i!=0x0d)||(j==0))

haohao 21-07-2011 06:22 PM

:)
- DEC là số thập phân
- 1 dich trái (noi_dung[7]-48) bit chứ ko pải ngược như bạn nói.
-~() là đảo tất cả các bit rồi gán vào temp
Còn 2 dòng dưới chỉ là phép toán logic thôi.

Chúc vui !

leodalat 22-07-2011 01:01 PM

giờ thì hỉu rùi thank các bác nhìu


Múi giờ GMT. Hiện tại là 11:55 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam