• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: UART2 資料進不來
#7
資深會員
資深會員


查看用戶資訊
沒有這種事吧?我不知道你的程式跟.h檔怎樣安排的。
我周邊程式以及中斷都沒有放在主程式中,也沒有發生過這類問題。

如果你只是MyOpenUART2() 放在main.c就會有中斷,表示你這個程式放在其他.c檔時,main()看不到。所以無法開啟UART,自然也沒有中斷。那你的對應的.h有宣告嗎?main()有呼叫MyOpenUART2()嗎?

發表於: 2009/4/27 21:41
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: UART2 資料進不來
#6
中級會員
中級會員


查看用戶資訊
經過綪確的測試是底下這段要在 main file , 沒人知道為嗎? 中斷處理程式亂搬到任何 file 皆可
U2Brg = (((GetSystemClock()/2)+(BRG_DIV2/2*BAUDRATE2))/BRG_DIV2/BAUDRATE2-1);
    
    
U2MODEvalue UART_EN UART_IDLE_CON 
                    
UART_DIS_WAKE  UART_DIS_LOOPBACK |
                    
UART_DIS_ABAUD UART_NO_PAR_8BIT |
            
UART_1STOPBIT;

    
U2STAvalue UART_INT_TX_BUF_EMPTY |
                
UART_IrDA_POL_INV_ZERO UART_SYNC_BREAK_DISABLED |
                
UART_TX_DISABLE UART_INT_RX_CHAR |
                
UART_ADR_DETECT_DIS |     UART_RX_OVERRUN_CLEAR;
    
    
OpenUART2(U2MODEvalueU2STAvalueU2Brg);

發表於: 2009/4/27 19:17
曾經 狂奔 舞蹈 貪婪的說話, 隨著冷的 濕的 心腐化

個人的休閒小站
歡迎來參觀
http://www.elevior.com
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: UART2 資料進不來
#5
中級會員
中級會員


查看用戶資訊
問題找到了
我把 MyOpenUART2() 搬到 main file 就有中斷,就接收資了
不能放在 MyUart.c , 一定非得放在 main.c (中斷向量所在)?

為什麼? 為什麼? 為什麼?

這是規定嗎? 太不合理了
從 compile -> obj -- link --> hex 觀點來看也不可能
為什麼會有這怪現象?

若我不試著亂搬, 豈不是一輩子都找不到這個 bug ?
還在傻傻的 啃 datasheet, 啃暫存器


發表於: 2009/4/24 19:35
曾經 狂奔 舞蹈 貪婪的說話, 隨著冷的 濕的 心腐化

個人的休閒小站
歡迎來參觀
http://www.elevior.com
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: UART2 資料進不來
#4
中級會員
中級會員


查看用戶資訊
跟CTS有關嗎?
我不需要 full pin 的 uart 要怎麼設?

發表於: 2009/4/24 9:19
曾經 狂奔 舞蹈 貪婪的說話, 隨著冷的 濕的 心腐化

個人的休閒小站
歡迎來參觀
http://www.elevior.com
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: UART2 資料進不來
#3
中級會員
中級會員


查看用戶資訊
參照:

Ryang 寫道:
第一個想法就是 PPS 的設定。建議現測試一下UART發送資料部份,看看 TxD 是不可以傳送資料出去,這樣也可以確定 PPS 有設定正確,至少TxD是對的。


TxD 隨便 remaaping 到任何 IO Pin 從示波器來量都有資料出來耶
但 RxD 怎麼都沒有進中斷?


雖然 ConfigIntUART2 裡 UART_RX_INT_EN 就有enable Rx Interrupt 了, 但我還刻意的加了底下這行, 但也沒有效果
IEC1bits.U2RXIE=1;

我再用死讀進來的方式, 並在 ReadUART2 下 debug 中斷, 這次有收到資料, 但資料一直是 0x94, 這倒底是怎麼回事...
uart 是最簡單用的 function , 從沒遇過這麼難驅動的 uart >"<

while(1)
{
    if (
DataRdyUART2())
    {
        
ReadUART2();
    }    
}

發表於: 2009/4/23 17:44
曾經 狂奔 舞蹈 貪婪的說話, 隨著冷的 濕的 心腐化

個人的休閒小站
歡迎來參觀
http://www.elevior.com
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: UART2 資料進不來
#2
版主
版主


查看用戶資訊
第一個想法就是 PPS 的設定。建議現測試一下UART發送資料部份,看看 TxD 是不可以傳送資料出去,這樣也可以確定 PPS 有設定正確,至少TxD是對的。

發表於: 2009/4/22 16:39
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


UART2 資料進不來
#1
中級會員
中級會員


查看用戶資訊
大家好,

我用 PIC24FJ256GB106 IC, 我很簡單的只想用 UART2 讀取資料進來, 但一直都失敗
無論是中斷還是 polling read 都無法讀到值. 但在 示波器上我看到外部 device 很規律的送資料進 RG9
可否請各位先進是否還有哪裡要注意的?
底下列舉code, 並註解說明, 請各位先進幫忙

// Open 的動作, 
// 1.設定 TX, Rx Pin 的 In/Out.
// 2.設定 interrupt , mode, state  等 uart 相關參數
// 3.Open Uart2
void MyOpenUART2(int iBaudRate)
{
    
unsigned int U2MODEvalueU2STAvalue;
    
unsigned int U2Brg;

    
// 先明確關閉 uart2
    
CloseUART2();
    
// start 跟預設值一樣, 但再設一次, 這區塊有跟沒有都一樣不行
//    __builtin_write_OSCCONL(OSCCON & 0xBF);        // to clear IOLOCK
//    RPINR19bits.U2RXR = 27;
//    RPOR9bits.RP19R   = 5;
//    __builtin_write_OSCCONL(OSCCON | 0x40);        // to set IOLOCK
    // end 跟預設值一樣, 但再設一次
    
    
TRISGbits.TRISG8 0// Attached device Rx, MCU Tx
    
TRISGbits.TRISG9 1// Attached device Tx, MCU Rx
    
LATGbits.LATG8 0
    
LATGbits.LATG9 1

    
// Enable UART2 RX interrupt
    
ConfigIntUART2(UART_RX_INT_EN UART_RX_INT_PR6 &
                    
UART_TX_INT_DIS UART_TX_INT_PR2);


    
U2Brg = (((GetSystemClock()/2)+(BRG_DIV2/2*BAUDRATE2))/BRG_DIV2/BAUDRATE2-1);
    
    
U2MODEvalue UART_EN UART_IDLE_CON 
                    
UART_DIS_WAKE  UART_DIS_LOOPBACK |
                    
UART_DIS_ABAUD UART_NO_PAR_8BIT |
                    
UART_1STOPBIT;

    
U2STAvalue UART_INT_TX_BUF_EMPTY |
                
UART_IrDA_POL_INV_ZERO UART_SYNC_BREAK_DISABLED |
                
UART_TX_DISABLE UART_INT_RX_CHAR |
                
UART_ADR_DETECT_DIS |     UART_RX_OVERRUN_CLEAR;
    
    
OpenUART2(U2MODEvalueU2STAvalueU2Brg);

}

//---------------------------------------------------------------------------
// This is UART2 receive ISR
// 
void __attribute__((interruptauto_psv)) _U2RXInterrupt(void)
{
    
// 在此下中斷, 從未進來過
    
IFS1bits.U2RXIF 0;

    
// Read the receive buffer until at least one or more characters can be read
    
while( DataRdyUART2())
    {
       
PushToBufReadUART2() );
    }
}

發表於: 2009/4/22 16:12
曾經 狂奔 舞蹈 貪婪的說話, 隨著冷的 濕的 心腐化

個人的休閒小站
歡迎來參觀
http://www.elevior.com
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------