![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| 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 |
|
|
#1 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2008
Bài gửi: 28
: |
Help UART dsPIC30F4011
Code:
#include "p30f4011.h"
_FOSC(CSW_FSCM_OFF & HS);
_FWDT(WDT_OFF);
_FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI);
_FGS(CODE_PROT_OFF);
//Cac prototype cho cac chuong trinh con
void Init_UART1_Module(void);
//Cac bien toan cuc
unsigned short temp=0;
//------------------------------------------------------------------------------
//Chuong trinh chinh
int main(void) {
Init_UART1_Module();
LATB=0x00FF;
while (1) {
if (U1STAbits.URXDA) { //Cho den khi nhan duoc mot ky tu
temp = U1RXREG;
//Doc ky tu da nhan duoc vao temp
U1TXREG = temp + 1; //Gui tra ky tu da duoc sua doi (cong 1 vao)
while(!U1STAbits.TRMT);
};
};
}
//Chuong trinh con khoi tao module UART1
void Init_UART1_Module(void) {
TRISB = 0xFF00;
TRISCbits.TRISC13 = 0; // U1TX
TRISCbits.TRISC14 = 1; // U1RX
U1MODE = 0x8000; //Main I/O, 8-bit, no parity, 1 stop bit
U1STA = 0x0400; //bit10=UTXEN
U1BRG = 11; //Baud rate = 9600 ZTAL=7.3728 MHZ
}
Em dùng Terminal để send kí tự nhưng kô thấy jì .Xin các cao thủ trợ giúp!!! thay đổi nội dung bởi: namqn, 07-04-2009 lúc 09:27 PM. Lý do: định dạng code |
|
|
|
|
|
#2 | |
|
Trưởng lão PIC bang
|
Trích:
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|
|
|
|
#3 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2008
Bài gửi: 28
: |
Code:
#include "p30f4011.h"
_FOSC(CSW_FSCM_OFF & HS);
_FWDT(WDT_OFF);
_FBORPOR(MCLR_EN & PBOR_OFF & PWMxL_ACT_HI & PWMxH_ACT_HI);
_FGS(CODE_PROT_OFF);
//Cac prototype cho cac chuong trinh con
void Init_UART1_Module(void);
//Cac bien toan cuc
unsigned short temp=0;
//------------------------------------------------------------------------------
//Chuong trinh chinh
int main(void) {
Init_UART1_Module();
LATB=0x00FF;
while (1) {
if (U1STAbits.URXDA) { //Cho den khi nhan duoc mot ky tu
temp = U1RXREG;
LATB=0x0000;
//Doc ky tu da nhan duoc vao temp
U1TXREG = temp + 1; //Gui tra ky tu da duoc sua doi (cong 1 vao)
while(!U1STAbits.TRMT);
};
};
}
//Chuong trinh con khoi tao module UART1
void Init_UART1_Module(void) {
TRISB = 0xFF00;
TRISFbits.TRISF2 =1; // U1RX
TRISFbits.TRISF3 =0; // U1TX
U1MODE = 0x8000; //Main I/O, 8-bit, no parity, 1 stop bit
U1STA = 0x0400; //bit10=UTXEN
U1BRG = 11; //Baud rate = 9600 ZTAL=7.3728 MHZ
}
thay đổi nội dung bởi: namqn, 07-04-2009 lúc 10:20 PM. Lý do: định dạng code |
|
|
|
|
|
#4 |
|
Trưởng lão PIC bang
|
Vấn đề không phải ở code của bạn (trong ví dụ 4-2 tôi đâu có cần thiết lập các bit TRISF đó), mà ở phần cứng của bạn. Bạn hãy xem lại mạch thử nghiệm của bạn.
Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
|
|
|
|
#5 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2008
Bài gửi: 28
: |
|
|
|
|
![]() |
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|