定时器1不够用

2020-02-05 09:16发布

STC12C5A60S2+ENC28j60+RS232+RS485需要用到三个定时器1作为波特率发生器,但是STC12C5A60S2只有1个定时器1和一个独立波特率发生器,还少一个怎么办?
RS232和RS485都需要用到波特率发生器我明白,但是ENC28j60也需要用到波特率发生器我不太明白,下面是ENC28j60驱动文件中使用T1的代码:
  1. void init_uart()
  2. {  
  3. //        if (fre == 1200)         //only support 1200 Baud rate
  4. //        {   
  5. //                CKCON |=0x04;
  6.                 TMOD = 0x20;
  7.                 TH1  = 0xFD;
  8.                 TL1  = 0xFD;
  9.                 SCON = 0x50;
  10.                 PCON = PCON|0x80;
  11.                 TR1  = 1;
  12. //                TI = 1;
  13. //                printf("Hello world! ");
  14. //         }
  15. }
复制代码大神们求助!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
BDXing6
1楼-- · 2020-02-06 15:11
你得先拿出硬件图,再考虑U资源的分配问题。
sun_sky
2楼-- · 2020-02-06 18:51
ENC29J60不用定时器,这个程序初始化UART是为了调试用
onbluesun
3楼-- · 2020-02-06 23:30
BDXing6 发表于 2012-5-25 22:47
你得先拿出硬件图,再考虑U资源的分配问题。

单片机的串口1接的MAX232再接到RS232,串口2接的MAX485再接到RS485,木有电路图。。。直接焊的
onbluesun
4楼-- · 2020-02-07 03:28
 精彩回答 2  元偷偷看……
onbluesun
5楼-- · 2020-02-07 08:43
好了,谢谢大家,我把那段调试的程序删掉还不够,还要把ENC29J60驱动中调用这段程序的代码删掉。

一周热门 更多>