2790|1

69

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

LPC2138 的 UART1 不能初始化 [复制链接]

int8 UART1_Init(uint32 baud,uint8 datab,uint8 stopb,uint8 parity)
{
        uint32 tmp;

        PINSEL0  = (PINSEL0 & (~0x0F0000)) | 0x050000;   // (先清零,再赋值) P0.8 、.P0.9  
//     PINSEL2  = (PINSEL2 & (~0x08));                  //P1.24 为 GPIO
        IO1DIR  |= (1<<24);                 //P1.24为输出口
//      IRQEnable();
        if ((baud==0) || (baud>115200)) return 0;
        if ((datab<5)  || (datab>8))    return 0;
        if ((stopb==0)|| (stopb>2))     return 0;
        if (parity>4)                   return 0;

        U1LCR   = 0x80;                                    // Enable access to Divisor Latches
        tmp       = (Fpclk >> 4) / baud;
        U1DLM   = tmp >> 8;
        U1DLL    = tmp & 0xFF;

        tmp = datab - 5;                       // 设置字长
        if (stopb==2) tmp |= 0x04;             // 设置停止位

        if (parity!=0)                        // 设置奇偶校验位
        {
                parity--;
                tmp |= 0x08;
        }

        tmp |= parity << 4;

        U1LCR = tmp;

        U1FCR = 0x81;                                //使能FIFO,并设置触发点为8字节
        U1IER  = 0x01;                                //允许RBR中断,即接收中断
       
          rcv_new1 = 0;
        Uart1SemPtr = OSSemCreate(1);

        return 1;
}


执行 这个函数后 ,uc/os2系统死掉。

什么原因?

最新回复

但 uart0能用。太TM奇怪了  详情 回复 发表于 2007-12-27 20:57
点赞 关注

回复
举报

74

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
但 uart0能用。太TM奇怪了
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表