PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

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

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 15-12-2008, 02:47 PM   #10
han_nang_008
Đệ tử 1 túi
 
Tham gia ngày: Nov 2008
Bài gửi: 19
:
trong ví dụ 5.2 của bác đoặn thế này
Code:
while (1) {
		if (flag) {						//Neu co ket qua moi thi xuat ket qua
			idx = (ADCValue >> 8);		//Nibble cao nhat (chi co 2 bit)
			U1TXREG = HexTable[idx];	//Chuyen thanh ky tu tuong ung
			while (!U1STAbits.TRMT);	//Cho den khi truyen xong ky tu
			idx = ((ADCValue >> 4) & 0x000F);	//Nibble thu hai
			U1TXREG = HexTable[idx];	//Chuyen thanh ky tu tuong ung
			while (!U1STAbits.TRMT);	//Cho den khi truyen xong ky tu
			idx = (ADCValue & 0x000F);	//Nibble thap nhat
			U1TXREG = HexTable[idx];	//Chuyen thanh ky tu tuong ung
			while (!U1STAbits.TRMT);	//Cho den khi truyen xong ky tu
			U1TXREG = 0x0A;				//Cap ky tu CR, LF
			while (!U1STAbits.TRMT);	//Cho den khi truyen xong ky tu
			U1TXREG = 0x0D;
			flag = 0;					//Xoa co bao hieu co ket qua moi
		};
em viết lại thành hàm chuyển số sang chuỗi như này
Code:
//khai báo bien toan cuc
char chuoi[4];

unsigned char HexTable[] = "0123456789";
void so_to_chuoi(int so)
{	

	int  idx;
	int temp;
	temp=so;
			idx = ((temp >> 12) & 0x000F);			//Nibble cao nhat (chi co 2 bit)
			chuoi[0] = HexTable[idx];	

	  		idx = ((temp >> 8) & 0x000F);			//Nibble cao nhat (chi co 2 bit)
			chuoi[1] = HexTable[idx];	

			idx = ((temp >> 4) & 0x000F);			//Nibble cao nhat (chi co 2 bit)
			chuoi[2] = HexTable[idx];				//Chuyen thanh ky tu tuong ung
			
			idx = (temp & 0x000F);					//Nibble thu hai
			chuoi[3]= HexTable[idx];				//Chuyen thanh ky tu tuong ung
		
	  
}
trong hàm main em viết đoặn
so_to_chuoi(5893);
putsUART2((unsigned int*)chuoi);

rồi truyền lên PC thì thì ko thẻ nhận đúng số 5839, mà nhạn sang số khác,
đổi sang so_to_chuoi(so bat ki); thì cũng ko nhận đúng
nếu trong hàm so_to_chuoi(); em gán idx là các số cố định thì nhận dc chính xác, em suy ra là phần tách số có vấn đề, nhung em thử cackeeiur đều ko dc.
Bác xem hộ em với
han_nang_008 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Tags
dspic30f i2c, dspic30f uart, i2c, rtc


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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 92 19-02-2017 11:15 PM
dsPIC Tutorial 2-Các kỹ thuật cơ bản namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 33 17-10-2013 11:09 PM
dsPIC Tutorial 5-Module ADC và MCPWM namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 83 12-09-2013 10:33 PM
dsPIC Tutorial 1-Tạo và biên dịch một project (ASM30) namqn dsPIC - Bộ điều khiển tín hiệu số 16-bit 16 22-08-2012 12:35 AM
Alternate UART pin??? alexjp dsPIC - Bộ điều khiển tín hiệu số 16-bit 1 02-05-2006 06:26 PM


Múi giờ GMT. Hiện tại là 01:59 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