查看: 83|回复: 14
收起左侧

[其它应用] 发送一个字节就重启

[复制链接]

372

主题

3880

帖子

1万

积分

资深工程师

 楼主| 发表于 2017-7-16 23:28 | 显示全部楼层 |返回版面|阅读模式

今天调试SH88F516片子时,出现个很奇怪的问题,就是串口发送一个字节后,片子就重启,重启后发送一个字节,再重启,一直这样

371

主题

3845

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:30 | 显示全部楼层 |返回版面

代码看看

372

主题

3880

帖子

1万

积分

资深工程师

 楼主| 发表于 2017-7-16 23:38 | 显示全部楼层 |返回版面
void initio(void)
{
        //---P0口-----
        P0M0=0x00;                                                   
        P0M1=0x00;
        //---P1口-----
        P1M0=0x00;
        P1M1=0x00;
        //---P2口-----
        P2M0=0x00;
        P2M1=0x00;
        //---P3口-----
        //P30-RXD0  P31-TXD0
        P3M0=0X01;   //0000 0001
        P3M1=0X02;   //0000 0010
        //---P4口-------
        P4M0=0x00;
        P4M1=0x00;
}

void uart_init(void)
{
        CLKCON = 0x0C; //时钟设置
        T2MOD = 0x02;
        PCON = 0x00;
        T2CON = 0x34; //定时器2产生接收和发送波特率,开启定时器,工作在定时器方式,自动重装载
        SCON = 0x50;        

        RCAP2H = 0xFF;
        TH2 = 0xFF;
        RCAP2L = 0xCA;
        TL2 = 0xCA;          //9600
}
char get_char(void)
{
        while(RI == 0);
        RI = 0;
        return SBUF;
}

void put_char(unsigned char ch)
{
        SBUF = ch;                           //发送一个字节
        while(TI == 0);                     //等待TI置1
        TI = 0;                                   //清除TI
}

void put_string(unsigned char *str)
{
         while(*str)
         {
                  put_char(*str++);
         }
}

void uart_test(void)
{  
        put_char(0x55);
}

void main()
{
        initio();
        uart_init();
        uart_test();        
}

353

主题

3414

帖子

9664

积分

技术达人

发表于 2017-7-16 23:39 | 显示全部楼层 |返回版面

仿真的?

372

主题

3880

帖子

1万

积分

资深工程师

 楼主| 发表于 2017-7-16 23:41 | 显示全部楼层 |返回版面


没有!是在板子上运行的!

352

主题

4016

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:44 | 显示全部楼层 |返回版面
是不是IO有打架,抓一下发送的波形看看呢

353

主题

3414

帖子

9664

积分

技术达人

发表于 2017-7-16 23:45 | 显示全部楼层 |返回版面
代码不全。没有看到关于晶振的配置还有看门狗。

339

主题

3798

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:48 | 显示全部楼层 |返回版面
我也在用这个芯片,看到别人给的例程里面都有喂狗信号却没有看到怎么打开看门狗。晶振配置貌似也没有用。正在研究中。

367

主题

3661

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:49 | 显示全部楼层 |返回版面

看门口开关和晶振设置都在ISP51(编程软件)的选项里,软件里你没清狗,编程时候开启,就会一直复位

373

主题

4152

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:52 | 显示全部楼层 |返回版面

不知道楼主用的是什么仿真软件啊。。。

351

主题

4229

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:54 | 显示全部楼层 |返回版面
如果用楼主这种查询方式发送,那么在发送之前,我习惯于先清TI.

353

主题

3414

帖子

9664

积分

技术达人

发表于 2017-7-16 23:55 | 显示全部楼层 |返回版面
话说这查询方式的方式,在99%的实际应用上是没有立身之地的。

352

主题

4016

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:56 | 显示全部楼层 |返回版面

初始化没有问题,鉴定完毕!!!

339

主题

3798

帖子

1万

积分

资深工程师

发表于 2017-7-16 23:57 | 显示全部楼层 |返回版面
有电路图吗?或者波形可以看看的。。。

372

主题

3880

帖子

1万

积分

资深工程师

 楼主| 发表于 2017-7-16 23:57 | 显示全部楼层 |返回版面
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
*滑动验证:
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

分享 快速回复 返回顶部 返回列表