查看: 3411|回复: 6

[求助] k10的串口uart0用FIFO接收会错位,uart1却正常?

[复制链接]

该用户从未签到

27

主题

71

帖子

0

中级会员

Rank: 3Rank: 3

积分
262
最后登录
1970-1-1
发表于 2014-5-27 21:53:21 | 显示全部楼层 |阅读模式
K10  的两个串口,一样的设置,uart1中断接收正常;uart0却始终不正确,改成单个字节接收后,uart0能正常中断接收。请问是uart0硬件的问题?
    uartch-&gtFIFO |= UART_PFIFO_RXFE_MASK;
   uartch->RWFIFO = 8;
    uartch->CFIFO |= (UART_CFIFO_RXFLUSH_MASK | UART_CFIFO_TXFLUSH_MASK);
我知道答案 目前已有5人回答
回复

使用道具 举报

该用户从未签到

4

主题

351

帖子

0

高级会员

Rank: 4

积分
973
最后登录
1970-1-1
发表于 2014-5-28 16:30:25 | 显示全部楼层

回复:k10的串口uart0用FIFO接收会错位,uart1却正常?

楼主用的是什么型号的K10芯片呀?
我看100MHz主频的K10芯片uart0\uart1模块硬件几乎一模一样啊
回复 支持 反对

使用道具 举报

该用户从未签到

27

主题

71

帖子

0

中级会员

Rank: 3Rank: 3

积分
262
最后登录
1970-1-1
 楼主| 发表于 2014-5-28 18:06:06 | 显示全部楼层

RE:k10的串口uart0用FIFO接收会错位,uart1却正常?

MK10DX256VLH7. 是的,我也觉得奇怪,与CTS,RTS有关系吗?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

802

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1763
最后登录
1970-1-1
发表于 2014-5-28 20:34:34 | 显示全部楼层

RE:k10的串口uart0用FIFO接收会错位,uart1却正常?

你的中断接收没做好啊
回复 支持 反对

使用道具 举报

该用户从未签到

27

主题

71

帖子

0

中级会员

Rank: 3Rank: 3

积分
262
最后登录
1970-1-1
 楼主| 发表于 2014-5-29 09:23:55 | 显示全部楼层

回复:k10的串口uart0用FIFO接收会错位,uart1却正常?

 
我附上中断处理函数,依靠检测S1  RDRF,IDLE中断来完成收发。接收时能进入中断,并且在UART1上是正常的。就不知在UART0上就不正常了?
 
void UART0_RX_TX_IRQHandler(void)
{   
    /* Check receiver */
    if (UART0->S1 & UART_S1_RDRF_MASK)
    {
        count = UART0->RCFIFO;
        for (i = 0; i < count; i++)
        {
            data_byte = UART0->D;                     
            Put(&Receive_Fifo, data_byte);            
        }
    }
 
    /* Check receiving idle */
    if (UART0->S1 & UART_S1_IDLE_MASK)
    {
        count = UART0->RCFIFO;
        if (count == 0)
        {
            data_byte = UART0->D; 
            UART0->CFIFO |= UART_CFIFO_RXFLUSH_MASK;
        }
        else
        {
            for (i = 0; i < count; i++)
            {
               data_byte = UART0->D; 
                Put(&Receive_Fifo, data_byte);  
            }
        }    
    }  
}
 
回复 支持 反对

使用道具 举报

该用户从未签到

16

主题

705

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1745
最后登录
1970-1-1
发表于 2014-6-10 15:54:20 | 显示全部楼层

RE:k10的串口uart0用FIFO接收会错位,uart1却正常?

UART0和UART1还是有些区别的,楼主可以再看看用户手册是不是这方面有区别。
回复 支持 反对

使用道具 举报

该用户从未签到

37

主题

327

帖子

1

高级会员

Rank: 4

积分
886
最后登录
2023-7-19
发表于 2014-6-16 17:32:24 | 显示全部楼层

RE:k10的串口uart0用FIFO接收会错位,uart1却正常?

我试了一下,没用用idle中断,只是 RDRF ,UART0貌似没问题。
PS:我的程序没有操作过CFIFO 型号MK10DN512ZVL10, 硬件FIFO深度=8
WaterMark 也设为8
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 21:33 , Processed in 0.097636 second(s), 27 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表