微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么我的STC12C5A60S2开发板只有摁了RESET才能成功传成功。。

为什么我的STC12C5A60S2开发板只有摁了RESET才能成功传成功。。

时间:10-02 整理:3721RD 点击:
就是这个程序。我想通过串口二用十六进制指令0x40控制模块的,结果每次只有在摁了复位键后才能成功一次,重启都不行。为什么啊?

*********************************************************************/
#include "STC12C5A60S2.h" //库文件
#define uchar unsigned char//宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
#define S2TI 0x02//串口2发送中断请求标志位
/********************************************************************
延时函数
*********************************************************************/
void delay ( uchar t )
{
uchar i,j;
for( i=0; i<t; i++)
for( j=0; j<250; j++);
}
/********************************************************************
串口初始化
*********************************************************************/

void init(void)
{
S2CON = 0x50; //方式1,八位数据,可变波特率
AUXR1 = 0x00; //1T工作方式
PCON = 0x00; //不倍增波特率
IP2 = 0x00; //优先级默认
BRT = 0xFD; //设置波特率9600
AUXR = 0x10; //启动波特率发生器
EA = 1; //开总中断
IE2 = 0x01; //开串口2中断
}
/********************************************************************
发送一个字符
*********************************************************************/

void txd_c(uchar x)
{
S2BUF = x;
while(!(S2CON&S2TI)); //若S2TI=0,在此等待
S2CON&=~S2TI; //S2TI=0
}
/********************************************************************
发送接收中断函数
*********************************************************************/
void uart2_isr() interrupt 8
{
if( S2CON & 0x01 )
{
S2CON &= ~0x01;
dat = S2BUF;
}
if( S2CON & 0x02 )
{
S2CON &= ~0x02;
}
}

/********************************************************************
主函数
*********************************************************************/
void main()
{
init();
delay(50);
txd_c(0x40);
P2=0x00;
while(1);


}
/********************************************************************
结束
*********************************************************************/

难道是复位电路出问题了?换个复位电路中的电容试试?

我用的是直接买的开发板,我网上查了一下,复位电路如果出问题的话应该在烧写程序的时候就能看出来问题吧?我问了做开发板的店家他们说可以从软件上把这个问题解决,但是具体怎么解决店家也说不知道。

不明白你说的重启都不行啥意思?重启之后不就接着复位的么?

复位电路错了,高变低。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top