會員登陸
帳號:

密碼:

記住我



忘記密碼?

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


正在流覽:   1 名訪客





Dspic33FJ64MC508A 第一次上電 UART RX中斷收不到值
新會員
註冊日期:
2014/10/12 10:59
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 831
離線
想請問一下,有人遇到過第一次上電的時候,UART RX中斷有收不到值的問題嗎?

目前用Debug去看,以一筆資料有10個Byte,這10個Byte在第一次RX中斷都不會進去,當我傳送第二次的時候才會正常,請問有人有遇過這個問題嗎?

還是我以下UART的設定有問題呢?


OpenUART1
(UART_EN & UART_IDLE_CON & UART_EN_WAKE & UART_DIS_LOOPBACK & UART_DIS_ABAUD &
              
UART_NO_PAR_8BIT & UART_1STOPBIT & UART_IrDA_DISABLE & UART_MODE_SIMPLEX &
              
UART_UEN_00 & UART_UXRX_IDLE_ONE & UART_BRGH_SIXTEEN,
              
UART_INT_TX & UART_IrDA_POL_INV_ZERO & UART_SYNC_BREAK_DISABLED & UART_TX_ENABLE &
              
UART_INT_RX_CHAR & UART_ADR_DETECT_DIS & UART_RX_OVERRUN_CLEAR,
              
UART1Period);
    
ConfigIntUART1( UART_RX_INT_EN & UART_RX_INT_PR4 & UART_TX_INT_DIS & UART_TX_INT_PR4 );

//-----UART RX Interrup-----//
void __attribute__( ( interrupt , no_auto_psv ) ) _U1RXInterrupt( void )
{
    
UART1_ReceiveBuffer[UART1_Read_Count] = ReadUART1();
    
UART_Status_Flag.bits.UART_RX_ReadStart = 1;     
    
UART1_Read_Count++;                             
    
UART1_Count = 0;                                
    
IFS0bits.U1RXIF = 0;         
}

6月30日 11:11:57
轉換PDF檔 列印


Re: Dspic33FJ64MC508A 第一次上電 UART RX中斷收不到值
新會員
註冊日期:
2014/10/12 10:59
所屬群組:
註冊會員
文章: 18
等級: 2; EXP: 97
HP : 0 / 49
MP : 6 / 831
離線
更正,再次確認後發現,第一筆資料是有收到的,也是完整的。
第一次上電等待資料整筆收完,實際收到的資料是往右位移一個byte。

假設PC傳送10個byte給RX陣列接收,RX陣列0的位置應該為PC發送的第1個Byte,但是第一次上電RX陣列第0個Byte都是0,RX陣列第1個Byte才是PC發送的第一個Byte。

正常收到值應該是這樣
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

第一次實際收到值為
array[0] = 0;
array[1] = 1;
array[2] = 2;
array[3] = 3;
array[4] = 4;
array[5] = 5;

6月30日 13:24:25
轉換PDF檔 列印


Re: Dspic33FJ64MC508A 第一次上電 UART RX中斷收不到值
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 15083
等級: 73; EXP: 95
HP : 1094 / 1823
MP : 5027 / 86364
離線
懷疑是接收的 Ring Buffer 指標的初始設定有問題,請確認一下指標設定部分看看。

7月01日 13:13:05
轉換PDF檔 列印






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

[進階搜尋]


搜尋
Microchip連結
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project