會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





DSPIC30F6014A RS232 接收訊號問題
新會員
註冊日期:
1月04日 13:54:11
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 1 / 1
離線
小弟用RS232來接收值結果收到的值始終為"x"
請問我這到底是哪裡出了問題(rate 為9600)
#include <p30fxxxx.h>
#define DELAY_105uS asm volatile ("REPEAT, #4201"); Nop(); // 105uS delay

int main(void)
{
// Configure oscillator as needed
T1CON = 0x8020;
// Configure oscillator as needed
U1MODE = 0x8040;
U1BRG = 47; // Baud Rate setting for 9600
U1STAbits.UTXISEL = 11; // Interrupt after one TX character is transmitted
//IEC0bits.U1TXIE = 1; // Enable UART TX interrupt
U1MODEbits.UARTEN = 1; // Enable UART
U1STAbits.UTXEN = 1; // Enable UART TX
DELAY_105uS
while(1)
{
IFS0bits.U1TXIF = 0;
U1TXREG = 'a'; // Transmit one character
IFS0bits.U1TXIF = 1;
}
}

1月04日 13:58:50
轉換PDF檔 列印


Re: DSPIC30F6014A RS232 接收訊號問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
我在 "dsPICMOD dsPIC30F Module Training" 的教育訓練下有一個UART 的章節,裡面的 UART1 的初始設定如下:


/***********************************************/
// Subroutine to initialize UART module

void    Init_UART(void)
{
    
/* Holds the value of baud register */
    
unsigned int baudvalue;
    
/* Holds the value of uart config reg */
    
unsigned int U1MODEvalue;
    
/* Holds the information regarding uart
    TX & RX interrupt modes */
    
unsigned int U1STAvalue;
    
/* 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);
    
/* Setup the Buad Rate Generator */
    
baudvalue = 95;            //UxBRG = ( (FCY/Desired Baud Rate)/16) – 1
                            //UxBRG = ( (7372800*2/9600)/16-1) = 95
    /* Configure UART1 module to transmit 8 bit data with one stopbit.
    Also Enable loopback mode */
    
U1MODEvalue = UART_EN & UART_IDLE_CON &
                
UART_ALTRX_ALTTX &
                
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_CHAR &
                
UART_ADR_DETECT_DIS &
                
UART_RX_OVERRUN_CLEAR;

    
OpenUART1(U1MODEvalue, U1STAvalue, baudvalue);

    return;

}

1月06日 12:14:18
轉換PDF檔 列印


Re: DSPIC30F6014A RS232 接收訊號問題
新會員
註冊日期:
1月04日 13:54:11
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 1 / 1
離線
大大您好
關於下列他出現沒辦法編譯的情況,我想請問是否要include 什麼樣的hex
(我只有用p30xxxx.h來寫程式)
U1MODEvalue = UART_EN & UART_IDLE_CON &
UART_ALTRX_ALTTX &
UART_DIS_WAKE &
UART_DIS_LOOPBACK & UART_DIS_ABAUD &
UART_NO_PAR_8BIT & UART_1STOPBIT

1月12日 18:14:59
轉換PDF檔 列印


Re: DSPIC30F6014A RS232 接收訊號問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
XC16 編譯器有改版,XC16 v1.24 (舊) 安裝時會自動加入 Peripheral Library 的函數庫及搜尋 path。

XC16 之後的版本需自行安裝 Peripheral Library 並在 XC16 的 Linker 選項裡勾選使用"Peripheral Library" 後才能使用這些函數庫。

單獨的函數庫安裝請看貼圖裡的 Peripheral Libraries V2.00 (Local) 這個軟體。

附加檔案:



jpg  擷取.JPG (18.29 KB)
16_5878352f1a00d.jpg 864X155 px

1月13日 10:02:23
轉換PDF檔 列印


Re: DSPIC30F6014A RS232 接收訊號問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 13877
等級: 72; EXP: 7
HP : 1066 / 1776
MP : 4625 / 67024
離線
還有要注意的是當你使用到 Microchip 所提供的函數庫時,這時還是要查一下 XC16 的使用手冊看看這函數還需 include 那些 H 檔。所以檔你用 UART 函數庫時就要將 uart.h 含入,使用到 printf() 時要將 stdio.h 檔含入。

例:
#include <p30fxxxx.h>
#include "C30EVM_LCD.h" // 將LCD函式的原型宣告檔案含入
#include <uart.h> // 將UART函式的原型宣告檔案含入
#include <Stdio.h>
#include <math.h>

1月13日 10:49:27
轉換PDF檔 列印


Re: DSPIC30F6014A RS232 接收訊號問題
新會員
註冊日期:
1月04日 13:54:11
所屬群組:
註冊會員
文章: 3
等級: 1; EXP: 10
HP : 0 / 2
MP : 1 / 1
離線
好的我試試

1月17日 11:21:33
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
線上教學影片
網頁捷徑
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088221 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project