PIC Vietnam

Go Back   PIC Vietnam > Các Đề Tài > PIC Việt Nam - Chuyên nghiệ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

PIC Việt Nam - Chuyên nghiệp Chúng ta sẽ thảo luận ở đây nhưng vấn đề về phương pháp nghiên cứu, cách làm việc và tổ chức công việc...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-07-2011, 09:01 PM   #1
leodalat
Nhập môn đệ tử
 
Tham gia ngày: Dec 2010
Bài gửi: 4
:
Question 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

thay đổi nội dung bởi: leodalat, 16-07-2011 lúc 09:07 PM.
leodalat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2011, 12:10 AM   #2
dazaiger
Nhập môn đệ tử
 
Tham gia ngày: Dec 2008
Bài gửi: 8
:
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é.
dazaiger vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-07-2011, 01:52 PM   #3
leodalat
Nhập môn đệ tử
 
Tham gia ngày: Dec 2010
Bài gửi: 4
:
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))
leodalat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 21-07-2011, 06:22 PM   #4
haohao
Đệ tử 2 túi
 
Tham gia ngày: Jul 2008
Bài gửi: 27
:

- 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 !
haohao vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-07-2011, 01:01 PM   #5
leodalat
Nhập môn đệ tử
 
Tham gia ngày: Dec 2010
Bài gửi: 4
:
giờ thì hỉu rùi thank các bác nhìu
leodalat 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à 06:47 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