打印
[家电应用]

求sh79f084 串口demo

[复制链接]
1661|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
laorenshen123|  楼主 | 2019-9-15 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 laorenshen123 于 2019-9-15 11:55 编辑

求sh79f084 串口demo,sh79f084 串口用T2定时器,没成功。哪里不对?

void Init_Timer2(void)
{       
        EA=0;
        //Enter_Bank1;                                                                        
        T2CON        =        Bin(00110000);
                 
        TL2 = (65536-16600000/32/2400) & 0x00ff;
    TH2 = ((65536-16600000/32/2400)>>8)&0x00ff;
        TF2          =         0;                                                //
        TR2        =         1;                                                // 开启定时器2       
                                                                                  
         //IEN0        |=        Bin(00010000);         //EUART
         //IEN1        =        Bin(00000000);         
         //Enter_Bank0;
         ET2 = 0;

         EA        =        1;                                                        //开启全中断
}
void EUART_Init(void)
{
         EA=0;  
         //Enter_Bank0;
                                              
          PCON =Bin(00000000);               
          SCON        =        Bin(01010000);                        //        方式1                  
          RI=0;                                       
       
          TI=0;                                                                                                  
          REN=1;                           //打开串口0接收中断
      ES0 =1;                           //使能UART0中断

        EA        =        1;
}

使用特权

评论回复
沙发
laorenshen123|  楼主 | 2019-9-15 17:32 | 只看该作者
没有官方的FAE工程师给支持一下么?

使用特权

评论回复
板凳
黑夜之狼| | 2019-9-17 16:35 | 只看该作者
void Uart_Config(u16 baud)
{
    u32 tmp;
    u8 T2RH = 0;    //T2重载值的高字节
    u8 T2RL = 0;    //T2重载值的低字节
       
    tmp = SYS_MCLK / 32 / baud;
    tmp = 65536 - tmp;
    T2RH = (u8)(tmp >> 8);
    T2RL = (u8)tmp;

    PCON &= 0xBF;        //X0XX XXXX D6 = 0,SCON[7:5]工作方式SM0 SM1 SM2
    SCON = 0x50;        //0101 0000 方式1,波特率为系统时钟的1/12
    RCAP2L = T2RL;
    RCAP2H = T2RH;
    T2MOD &= 0x00;
    T2MOD |= 0x01;
    T2CON |= 0x34;  //0011 0000 使用T2溢出率作为波特率发生器 开始T2
    ES0 = 1;
}

有问题欢迎指出,或者私信交流


使用特权

评论回复
地板
laorenshen123|  楼主 | 2019-9-17 19:29 | 只看该作者
本帖最后由 laorenshen123 于 2019-9-17 19:46 编辑
黑夜之狼 发表于 2019-9-17 16:35
void Uart_Config(u16 baud)
{
    u32 tmp;

我试了一下,没成功,不知道是哪里的问题?  
我的代码增加了       
    RCAP2L = TL2;
    RCAP2H = TH2;
通讯中断进去了,只中断3次,因该中断15次进去。

使用特权

评论回复
5
wenzimin| | 2019-11-6 09:38 | 只看该作者
laorenshen123 发表于 2019-9-15 17:32
没有官方的FAE工程师给支持一下么?

怎么联系您?

使用特权

评论回复
6
externally| | 2019-11-11 19:46 | 只看该作者
可以联系FAE看下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

0

粉丝