mini2440串口1的问题

汉尼拔勇闯天涯 2014-04-28 09:37:03
为什么mini2440的串口1不能用,我像串口0一样设置了串口1的相关寄存器,发送字符串,但接收不到,这是为什么?除了自带的TTL转RS232电平板以外,我还有一个。

rGPHCON = 0xaa0;
rGPHUP = 0x03c;

rUFCON0 = 0x0;
rUMCON0 = 0x0;
rULCON0 = 0x3; //Line control register : Normal,No parity,1 stop,8 bits
rUCON0 = 0x05; // Control register
rUBRDIV0==(int)(50000000/(115200*16))-1;

rUFCON1 = 0x0;
rUMCON1 = 0x0;
rULCON1 = 0x3; //Line control register : Normal,No parity,1 stop,8 bits
rUCON1 = 0x05; // Control register
rUBRDIV1=( (int)(50000000/16./115200) -1 );
...全文
323 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
菌菇009 2015-04-22
  • 打赏
  • 举报
回复
连接pc的串口是uart0 做了RS232电平转换 这个mini2440的手册上有的,所以说pc连的是串口0 你测试字符串发到串口1又没有和pc连通
  • 打赏
  • 举报
回复
没有人遇到这样的问题吗?
  • 打赏
  • 举报
回复
自己顶一下,希望各位能伸出援助之手
  • 打赏
  • 举报
回复
其实我就是简单的测试一下串口1,PC机用串口调试工具连,波特率 数据位 校验位什么的,都和板子设置的一样,但终端上就是什么都不显示。我用轮询的方式发送数据,不是中断。 我的main函数简单:

#include "2440addr.h"
#include "uart.h"
int main()
{
   uartini(); //串口初始化
   while(1)
  {
     uart1SendByte('1');
  }
return 0;
}

/*******************************************************
【函数功能】	从串口1发送字符
********************************************************/
void uart1SendByte(char data2)
{
	if(data2=='\n')
        {
            while(!(rUTRSTAT1 & 0x2));
           // Delay(1);                 //because the slow response of hyper_terminal 
            rUTXH1 = '\r';
        }
          while(!(rUTRSTAT1 & 0x2));   //Wait until THR is empty.
      //  Delay(1);
        rUTXH1 = data2;
}
罗博士 2014-04-28
  • 打赏
  • 举报
回复
信息量太少。 你说板子问题,那就是主机有问题。
  • 打赏
  • 举报
回复
我就是根据手册编的啊,寄存器的设置肯定木有问题
dsoyy 2014-04-28
  • 打赏
  • 举报
回复
看手册,开发板的手册和demo.

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧