首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

TQ2440串口通信的有关问题

2012-03-09 
TQ2440串口通信的问题小弟在写一个UART的程序,各个寄存器也都配置了,但是程序下载进去之后,无法在SecureCR

TQ2440串口通信的问题
小弟在写一个UART的程序,各个寄存器也都配置了,但是程序下载进去之后,无法在SecureCRT中看到发回来的数据,请高手们帮忙啊~~万分感谢~
#include<S3C2440.h>
#define PCLK 50000000 // 设置PCLK为50MHz
#define UART_BAUD_RATE 115200 // 波特率

void uart0_init(void)
{
  GPHCON |= 0xaa; // GPH0,GPH1,GPH2,GPH3分别nCTS0,nRTS0,TXD0,RXD0
  GPHUP = 0x7ff; //内部上拉被禁止
UFCON0 = 0x00; // 不使用FIFO
  UMCON0 = 0x00; // 不使用流控

  ULCON0 = 0x03; // 8N1(8个数据位,无校验,1个停止位)
  UCON0 = 0x245;  
// 查询方式,UART时钟源为PCLK,中断请求方式为Tx-电平,Rx-脉冲
  UBRDIV0=( (int)(PCLK/16./UART_BAUD_RATE+0.5) -1 ); //设置波特率
}

void Uart_SendByte(char data)
{
if(data=='\n')
{
while(!(UTRSTAT0 & 0x2));

// Delay(1); //because the slow response of hyper_terminal
  UTXH0 = 'r'; //将数据写入到UART0发送缓冲器中
}
while(!(UTRSTAT0 & 0x2)); //Wait until THR is empty.
// Delay(1);
UTXH0 = data;
}  
//========发送字符串的函数
void Uart_SendString(char *pt) 
{
  while(*pt)
  Uart_SendByte(*pt++);
}
int main(){
uart0_init();
while(1){
Uart_SendByte(47);
}

}





[解决办法]
示波器看下,发送出来没?
[解决办法]
示波器看一下,数据发送出来没有。
没发出来,是下位机问题;发出来了,是上位机的问题。
[解决办法]
TQ板子貌似完全是盗版的 兼容性貌似也不是很好!
[解决办法]

探讨
2 3 楼好办法~不过估计是下位机的问题,因为我直接使用里程的话,是可以进行通信的~

热点排行