小弟在写一个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板子貌似完全是盗版的 兼容性貌似也不是很好!
------解决方案--------------------