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

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 25-10-2011, 12:52 PM   #1
cindar
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 2
:
Giao tiếp UART với dsPIC30F

Hiện đang làm giao tiếp PC với dsPIC30F nhưng gặp một số vướng mắc sau:
kí tự nhận đuợc trên máy tính toàn là các kí tự @%$#&
em đã config baud trên máy tính là 9600,terminal là 9600,dsPIC cũng 9600
em đã mô phỏng với MPLAB SIM chạy rất tốt nhưng nạp vào kit thì toàn ra chữ tượng hình

Code:
//---------------------------------//
//----------include file-----------//
//---------------------------------//
#include "p30F4011.h"
#include <uart.h>
#include <stdio.h>
#include <stdlib.h>

//---------------------------------//
//--------- config bits -----------//
//---------------------------------//
	_FOSC(CSW_FSCM_OFF & FRC_PLL4);				//32MHZ
	_FWDT(WDT_OFF);								//
	_FBORPOR(PBOR_OFF & MCLR_EN);				//
	_FGS(CODE_PROT_OFF);						//
	

#define	Fcy	8000000								//Tan so thuc thi lenh
#define baudvalue	9600
#define baudcalc (Fcy/baudvalue)/16-1
#define _ISR_PSV __attribute__((interrupt, auto_psv))

/*** khai bao bien cho UART ***/  
unsigned int U1MODEvalue;/* Holds the value of uart config reg */
unsigned int U1STAvalue; /* Holds the information regarding uart TX & RX interrupt modes */  
char Txdata[] = {'M','i','c','r','o','c','h','i','p',' ','I','C','D','2','\0'};

void init_uart(void);

int main(void)
{
	init_uart();
	for(;;)
	{
		while(BusyUART1());
		putsUART1((unsigned int*)Txdata);
	}
}

void init_uart(void)
{
/* Turn off UART1module */
    CloseUART1();
/* Configure uart1 receive and transmit interrupt */
    ConfigIntUART1(UART_RX_INT_EN & UART_RX_INT_PR6 & 
                   UART_TX_INT_DIS & UART_TX_INT_PR2);
/* Configure UART1 module to transmit 8 bit data with one stopbit  */
    U1MODEvalue = UART_EN & UART_IDLE_CON & 
                  UART_DIS_WAKE & UART_DIS_LOOPBACK  &
                  UART_DIS_ABAUD & UART_NO_PAR_8BIT  &
                  UART_1STOPBIT;
    U1STAvalue  = UART_INT_TX_BUF_EMPTY  &  
                  UART_TX_PIN_NORMAL &
                  UART_TX_ENABLE & UART_INT_RX_3_4_FUL &
                  UART_ADR_DETECT_DIS &
                  UART_RX_OVERRUN_CLEAR;
    OpenUART1(U1MODEvalue, U1STAvalue, baudcalc);
    return;
}
void _ISR_PSV _U1RXInterrupt(void)
{
	//code here
	IFS0bits.U1RXIF = 0;/* xoa co ngat */
}
ban đầu em chạy với thạch anh 10MHZ PPLx8,ko đuợc nên sau đó chuyển qua FRC_PPL4
em không hiểu sai chỗ nào nhưng nó chạy loạn xạ quá.
anh nào có kinh nghiệm làm về cái này giúp em với

thay đổi nội dung bởi: cindar, 25-10-2011 lúc 04:56 PM.
cindar vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-10-2011, 08:01 PM   #2
cindar
Nhập môn đệ tử
 
Tham gia ngày: Nov 2010
Bài gửi: 2
:
có vẻ như ít người quan tâm tới dsPIC nhỉ.
em đã tự giải quyết được.
Cảm ơn mọi người
cindar vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-07-2012, 05:31 PM   #3
baolvq
Nhập môn đệ tử
 
Tham gia ngày: Jul 2012
Bài gửi: 4
:
Bạn có thể gửi đề tài về dspic cho mình tham khảo với được không

tks!
baolvq vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-09-2012, 10:34 AM   #4
nangvang
Đệ tử 1 túi
 
Tham gia ngày: Nov 2010
Bài gửi: 23
:
mình nghĩ bạn nên xem lại phần cứng đi. e rằng bạn đang bị sai ở kết nối chân TX và RX với pc. thử đảo thứ tự 2 chân đó đi xem
nangvang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 18-10-2012, 05:34 AM   #5
thanh_binh91
Nhập môn đệ tử
 
Tham gia ngày: May 2011
Bài gửi: 1
:
chịu thôi khó lắm
thanh_binh91 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 15-01-2013, 06:22 PM   #6
chung_ga
Nhập môn đệ tử
 
Tham gia ngày: Dec 2012
Bài gửi: 2
:
em cũng mới tìm hiểu về dspic ạ, bác nào đi trước, biết rồi chỉ cho em với, bắt đầu là đọc tín hiệu cảm biến và hiển thị trên máy tính ạ
chung_ga vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-03-2013, 06:11 PM   #7
lamcdt
Nhập môn đệ tử
 
Tham gia ngày: Aug 2012
Bài gửi: 4
:
Mấy a ơi, cứu em với: Em đang giao tiếp giữa con dspic30f4011 bằng UART nhưng khi cho them timer 5 vào con nhận thì nó không thể nảo nhận dữ liệu được nữa. Nhờ mấy sư phụ giúp em với. em làm cả tuần rùi mà không được. Haizzz
lamcdt 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à 12:14 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