原创 用于430f149波特率设定的一个函数

2006-9-13 02:56 5853 13 9 分类: MCU/ 嵌入式
unsigned int code T_H[]={3360,1120,672,480,373,305,258,224,0};
unsigned char code UM_CTL1_N[9]={0x00,0x08,0x22,0x92,0x55,0x6d,0xdb,0x7f,0xff};
/*******************************************************************/
//函数输入参数两个,BRCLK为给定输入频率,BAUD为需要得到的波特率
//UBR01,UBR11,UMCTL1,是430的USART三个分频与调整必须的配置寄存器在程序调用中被设定
//返回值代表成功与否,1为成功,0为失败。失败原因是波特率高于给定频率或过低,无法分频。
//
/*******************************************************************/
unsigned char usart_ubr_init(long unsigned int BRCLK,long unsigned int BAUD)
{   
    unsigned char i;
    unsigned int UBR_temp;
    long unsigned int T_UBR_ADD;
    if(BAUD>BRCLK){return(0);}
    else if((BRCLK/BAUD)>65535){return(0);}
    UBR_temp=BRCLK/BAUD;
    UBR01=UBR_temp;
    UBR_temp>>=8;
    UBR11=UBR_temp;
    UBR_temp=(BRCLK-(BRCLK/BAUD)*BAUD);
    if(UBR_temp==0){UMCTL1=UM_CTL1_N[0];return(1);}
    else
        {
            T_UBR_ADD=BAUD*210/UBR_temp;
            if(T_UBR_ADD>65535){UMCTL1=UM_CTL1_N[0];return(1);}
            else UBR_temp=T_UBR_ADD;
            for(i=0;i<9;i++)
                {
                    if(T_UBR_ADD>T_H){UMCTL1=UM_CTL1_N;return(1);}
                }
        }
    return(1);
}
//我想至于它的应用想用的应该清楚吧
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户48440 2006-9-25 10:44

不错,下来研究下,谢谢兄弟!
相关推荐阅读
89898_587076266 2011-09-28 11:31
光绘文件转pcb
AD6_Gerber文件转PCB文件教程.pdf用于转换,如果有不识别的文件可以考虑采取改名的方法,比如gbr,因为内部的格式才是识别的数据格式,钻孔文件也会有这问题,才用cam打开然后生成一个drl...
89898_587076266 2011-09-14 10:10
光谱波长备忘
光谱光波:波长为10—106nm的电磁波可见光:波长380—780nm  770~622nm,感觉为红色;622~597nm,橙色;597~577nm,黄色;577~492nm,绿色;492~455n...
89898_587076266 2011-09-14 10:10
盖-吕萨克
我喜欢的科学家,实践能力非常强,且有着敏捷的思维和对工作的热情。大量制备钠钾的方法,研究碘,发现硼。还有他的盖-吕萨克定律,随便哪一项都是伟大的成就。约瑟夫·路易·盖-吕萨克(Joseph Louis...
89898_587076266 2011-08-03 11:35
电气元件原理图符号
电气元件原理图符号并带有简单解释。 电气图形符号.rar...
89898_587076266 2011-05-11 09:00
仪表放大器应用工程师指南-ad公司
是关于仪表放大器的使用指导attachment download...
89898_587076266 2011-03-25 16:00
十进制数转换为字符串(ascii)函数
const unsigned int DAT_Add_TAB[10] = {1,10,100,1000,10000,100000,1000000,10000000,100000000,10000000...
EE直播间
更多
我要评论
1
13
关闭 站长推荐上一条 /3 下一条