博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
串口调试
阅读量:6878 次
发布时间:2019-06-26

本文共 634 字,大约阅读时间需要 2 分钟。

精度问题:

如果使用11.059MHz的晶振,串口调试时使用各种波特率的误差都极其小,但如果使用12MHz的晶振,只有在波特率为2400时误差较小,其他情况都误差太大而不能使用。

串口在12Mhz晶振下的典型案例:

#include<reg52.h>

unsigned char flag,a;
int temp=0x78;
void main()
{

 TMOD=0x20;   //设定T1定时器工作方式二

 TH1=0xf3; //波特率2400
 TL1=0xf3;
 TR1=1;    //启动T1定时器
 REN=1;    //允许串口接收
 SM0=0;
 SM1=1; //工作方式1,波特率可变,由定时器0控制
 EA=1;  //开串口中断
 ES=1;//   开总中断

 while(1)

  {
  /*while(!RI)
  RI=0;
  P1=0X00;*///控制IO口
   if(flag==1)
    {
     ES=0;  //关中断
     flag=0;
     SBUF=temp;//发送到串口助手  (接收缓冲区)
     while(!TI);  //发完之后TI为1
     TI=0;
     ES=1;  //开中断
    }
  }
}

void ser() interrupt 4

{
 RI=0;  //RI接收中断标志位,清0取消中断申请
// P1=SBUF;//控制单片机
 a=SBUF;  //(发送缓冲区)
 flag=1;
}

转载于:https://www.cnblogs.com/nickup/p/6286899.html

你可能感兴趣的文章
前端之jquery
查看>>
Java练习 SDUT-2246_时间日期格式转换
查看>>
Python中 可变参数
查看>>
python_函数传递列表
查看>>
上海市松江区 <-> 上海市金山区枫泾·万枫东路ab6177,racehttp://live.racing-china.com/...
查看>>
webpack 学习笔记 (一)
查看>>
eclipse安装spring的插件
查看>>
hide software keybox
查看>>
Linux下clock计时函数学习【转】
查看>>
0405复利5.0震撼来袭
查看>>
【软件工程】功能规格说明书
查看>>
KMP算法总结
查看>>
KOA中间件的基本运作原理
查看>>
jquery中子元素和后代元素的区别
查看>>
linux环境下搭建solr服务器--单机版
查看>>
可图的度序列判断与构造
查看>>
VUE1)搭建VUE脚手架
查看>>
汉诺塔||河内之塔
查看>>
c语言-完全背包问题
查看>>
win7搭建web服务器
查看>>