天嵌 ARM开发社区

 找回密码
 注册
查看: 2725|回复: 5

串口编程的问题

[复制链接]
zlq123 发表于 2013-6-19 00:42:40 | 显示全部楼层 |阅读模式
5
在这段程序编译出bin文件后,烧写就是不会出现数字,是怎么回事,急急急。。。:
#include "def.h"
#define  GLOBAL_CLK 1
#include "2440addr.h"
#include "option.h"
U8 sent[]={1,2,3,4,5,6,7,8,9,0},i;
extern void Delay(int);

static void cal_cpu_bus_clk(void)
{
U32 val;
U8 m,p,s;

val=rMPLLCON;
m=(val>>12)&0xff;
p=(val>>4)&0x3f;
s=val&3;

FCLK=((m+8)*(FIN/100)*2)/((p+2)*(1<<s))*100;
val=rCLKDIVN;
m=(val>>1)&3;
p=val&1;
val=rCAMDIVN;
s=val>>8;
switch(m)
{
  case 0:
   HCLK=FCLK;break;
  case 1:
   HCLK=FCLK>>1;break;
  case 2:
   if(s&2)
    HCLK=FCLK>>3;
   else
    HCLK=FCLK>>2;
   break;
  case 3:
   if(s&1)
    HCLK=FCLK/6;
   else
    HCLK=FCLK/3;
   break;
}
if(p)
  PCLK=HCLK>>1;
else
  PCLK=HCLK;

}
void uart_init(int band)
{
  int i;
  rGPHCON=(1<<7)|(1<<5);
  
  rUFCON0=0x0;
  rUMCON0=0x0;
  rULCON0=0x3;
  rUCON0=0x245;
  rUBRDIV0=((int)(PCLK/band/16)-1);
  for(i=0;i<100;i++);
}
void Main(void)
{
cal_cpu_bus_clk();
uart_init(115200);
while(1)
{
  while(!(rUTRSTAT0&0x2));
   WrUTXH0(sent[i]);
   i++;
   if(i>=10)
   {
    i=0;
   }
  Delay(1000);
}
   
}

亚瑟王 发表于 2013-6-19 17:41:50 | 显示全部楼层
你的代码从哪里来的?
回复

使用道具 举报

 楼主| zlq123 发表于 2013-6-19 19:40:29 | 显示全部楼层
亚瑟王 发表于 2013-6-19 17:41
你的代码从哪里来的?

网上的,怎么了????
回复

使用道具 举报

亚瑟王 发表于 2013-6-20 11:22:36 | 显示全部楼层
zlq123 发表于 2013-6-19 19:40
网上的,怎么了????

建议你仔细检查一下时钟这些参数是否设置有问题吧,或者对比一下TQ2440_Test中的源码。
回复

使用道具 举报

将军 发表于 2013-8-11 17:05:06 | 显示全部楼层
你的串口没有选择 应该加一句串口选择的语句 在uart_init(115200);
之前 或后面  consoleNum = 0;        Uart_Select(consoleNum);这样的语句
回复

使用道具 举报

将军 发表于 2013-8-11 17:06:57 | 显示全部楼层
选择你要输出的哪一个串口 0 、1或2 哪一个符合你
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 15:33 , Processed in 1.031250 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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