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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 19-04-2011, 02:13 PM   #1
tornado1990
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 2
:
Về char trong CCS

Xin chào mọi người!
Mình tham gia diễn đàn khá lâu rồi tuy nhiên chưa có đóng góp nào cả. Mặc dù vậy cũng mong các bậc đàn anh chỉ bảo thêm các vấn đề mà bản thân còn chưa hiểu
Code:
 //chuong trinh chuyen ki tu can hien thi ra ma font
void Convert(unsigned int source)
{
	unsigned int position,i;
	position=(source>39)? (source-40)*6:0;
	position=(source==32)? 88*6:position;
	position=(source==87)? 87*6:position;
	for(i=position;i<(position+6);i++)
	{
		Array[d]=ma[i];
		if(source==0) Array[d]=0;
		d++;
	}
	
}
là một đoạn code để chuyển string sang mã led hiển thị trên led matrix, ma[] là một mảng lớn chứa các mã font 7x6 của các chữ cái phục vụ quét
Code:
unsigned char code ma[]={0,
0,62,65,65,0,0,			//(				0
0,65,65,62,0,0,			//)			  	1
16,56,60,56,16,0,		//*				2
8,8,127,8,8,0,			//+				3
0,0,9,18,28,0,			//,				4
8,8,8,8,8,0,			//-				5
0,7,5,7,0,0,			//.				6
1,2,28,32,64,0,			///				7
62,65,65,65,62,0,		//0				8
17,33,127,1,1,0,		//1				9
35,69,73,73,49,0,		//2				10
34,65,73,73,54,0,		//3				11
12,20,36,79,4,0,		//4				12
114,73,73,73,70,0,		//5				13
62,73,73,73,38,0,		//6				14 
65,66,68,72,112,0,		//7				15
54,73,73,73,54,0,		//8				16
50,73,73,73,62,0,		//9				17
0,0,99,99,0,0,			//:				18
0,0,101,102,0,0,		//;				19
0,8,20,34,65,0,			//<				20
9,9,9,9,9,0,			//=				21
65,34,20,8,0,0,			//>				22
0,48,64,77,48,0,		//?				23
62,65,89,56,0,0,		//@				24
63,68,68,68,63,0,		//A				25
127,73,73,73,54,0,		//B				26
62,65,65,65,34,0,		//C				27
127,65,65,65,62,0,		//D				28
127,73,73,73,65,0,		//E				29
127,72,72,72,64,0,		//F				30
62,65,73,73,46,0,		//G				31
127,8,8,8,127,0,		//H				32
65,65,127,65,65,0,		//I				33
70,65,65,126,64,0,		//J				34
127,8,20,34,65,0,		//K				35
127,1,1,1,1,0,			//L				36
127,32,24,32,127,0,		//M				37
127,32,16,8,127,0,		//N				38

....// còn nhiều nữa
....//
}
Code:
void send_str(unsigned char *str,unsigned char color,unsigned char position,bit shi)
{
	unsigned char x,y=0;
	g_r=color;
	//nap font 12 ki tu vao mang Array de hien thi
	d=0;
	y=0;
	while(y<12)
	{
		if(*str!='\0')
		{
			Convert(*str);
			str++;
		}
		if(*str=='\0') Convert(0);
....//// còn nữa
Vấn đề của em là chỗ "unsigned char *str" dấu * ở đây có ý nghĩa gì, biến kiểu này em biết là 8bit không dấu nhưng trong bài giá trị cho ra của nó là gì? Chẳng hạn send_str("A") thì *str là số có giá trị ra sao? Có phải là mã ASCII không? Các chỗ so sánh *str=='\0' có ý nghĩa như thế nào?
Code:
send_str("Nhiet do phong hien tai la:",orange,0,1);
Em là newbie trong vụ CCS này, tuy có đọc nhiều tài liệu do các anh gởi nhưng cũng chưa thể "thông" hết được. Code trên là của một bài mẫu do một thành viên post lên tuy nhiên bài đã khá lâu rồi với lại do download nhiều quá nên cũng chả nhớ phải tìm lại ở đâu!
Rất mong nhận được sự giúp đỡ của mọi người!
tornado1990 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-04-2011, 09:05 PM   #2
tungbachnam
Đệ tử 2 túi
 
Tham gia ngày: Oct 2009
Bài gửi: 31
:
đây là biến kiểu pointer đọc thêm về c đi, trong trường hợp đi nó trỏ đến kí tự đầu của string mà bạn send
tungbachnam vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-04-2011, 09:41 PM   #3
tornado1990
Nhập môn đệ tử
 
Tham gia ngày: May 2010
Bài gửi: 2
:
Trích:
Nguyên văn bởi tungbachnam View Post
đây là biến kiểu pointer đọc thêm về c đi, trong trường hợp đi nó trỏ đến kí tự đầu của string mà bạn send
Cảm ơn bạn, tuy nhiên mình cần giải thích cụ thể hơn, mình vốn không phải chuyên ngành điện tử, không được học cơ bản về c, cũng chả biết phải bắt đầu từ đâu. Mong mọi người chỉ bảo!
tornado1990 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Tags
ccs, led matrix, quang báo, xử lý chuỗ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à 05:49 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