读书人

TQ2440串口通信的有关问题

发布时间: 2012-03-09 16:54:57 作者: rapoo

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 楼好办法~不过估计是下位机的问题,因为我直接使用里程的话,是可以进行通信的~

读书人网 >驱动开发

热点推荐