-
画的不错
-
不加密时,会有个未加密提示,是因为有的客户担心烧录的芯片忘记加密,出大乱子。所以特意弄成不加密就不能自动写。
自动写的时候,插的动作一定要干脆,EP968我是有做一定的消抖时间的。但这个时间没弄得太长、、、
很高兴楼主顺利解决问题
-
楼主的代码中有下面几行,不知道你在normal模式里把管脚 重映射 屏蔽掉了吗?如果没有屏蔽掉,希望屏蔽后在做实验。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOD,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap1_CAN,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap2_CAN,ENABLE);
-
-
我用下面这个一直没问题
/*========================================*/
/*--------DS1302 RAM------------------*/
sbit ds_clk=P1^5;
sbit ds_io =P1^4;
sbit ds_rst=P2^7;
sbit ACC_0=ACC^0; //ACC可以换成其他什么的
sbit ACC_7=ACC^7;
#define second StringD[0]
#define minute StringD[1]
#define hour StringD[2]
#define da StringD[3]
#define month StringD[4]
#define week StringD[5]
#define year StringD[6]
//DS1302 Fuction
void write_data(uchar ucsenddata)
{
uchar i;
ACC=ucsenddata;
for(i=8;i>0;i--)
{
ds_io=ACC_0;
ds_clk=1;
_nop_();
_nop_();
ds_clk=0;
ACC=ACC>>1;
}
}
uchar read_data()
{
uchar i;
for(i=8;i>0;i--)
{
ACC=ACC>>1;
ACC_7=ds_io;
ds_clk=1;
_nop_();
_nop_();
ds_clk=0;
}
return ACC;
}
void write_ds1302(uchar ucaddress,uchar ucdata)
{
ds_rst=0;
delay();
ds_clk=0;
delay();
ds_rst=1;
delay();
write_data(ucaddress);
delay();
delay();
write_data(ucdata);
delay();
ds_clk=0;
delay();
ds_rst=0;
delay();
}
uchar read_ds1302(uchar ucaddress)
{
uchar p;
ds_rst=0;
delay();
ds_clk=0;
delay();
ds_rst=1;
delay();
write_data(ucaddress);
delay();
p=read_data();
delay();
ds_clk=0;
delay();
ds_rst=0;
delay();
return p;
}
void settime()
{
write_ds1302(0x8e,0x00);
delay();
delay();
write_ds1302(0x90,0xa5);
delay();
delay();
write_ds1302(0x80,second);
delay();
delay();
write_ds1302(0x82,minute);
delay();
delay();
write_ds1302(0x84,hour);
delay();
delay();
write_ds1302(0x86,da);
delay();
delay();
write_ds1302(0x88,month);
delay();
delay();
write_ds1302(0x8a,week);
delay();
delay();
write_ds1302(0x8c,year);
delay();
delay();
}
void readtime()
{
second=read_ds1302(0x81);
delay();
delay();
minute=read_ds1302(0x83);
delay();
delay();
hour=read_ds1302(0x85);
delay();
delay();
da=read_ds1302(0x87);
delay();
delay();
month=read_ds1302(0x89);
delay();
delay();
week=read_ds1302(0x8b);
delay();
delay();
year=read_ds1302(0x8d);
delay();
delay();
}
bit checktime(void)
{
bit tempbit;
tempbit=0;
readtime();
if(second>0x60)tempbit=1; //in fact if second&0x0f>9 is means time is not right
if(minute>0x60)tempbit=1;
if(hour>0x24)tempbit=1;
if(month>0x12)tempbit=1;
if(da>0x31)tempbit=1;
if(week>7)tempbit=1;
if(tempbit==1)return(1);
else return(0);
}
复制代码
-
曾用CS8900芯片做过,也碰到类似问题, 大量大量的CRC错及alig错,导致TCP链接的ftp下载速度奇慢,百思不得其解为何会这样
后改为半双工方式,故障解决,实测速度在正常范围(cs8900工作在10Mb/s)
-
为什么会这么肯定是硬件问题呢
-
可以考虑写个工具,Disable/Enable 该U-disk。
DDK里面好像带有一些设备控制的工具还有源码。具体实现还得LZ自己多努力。
-
在程序适当位置加喂狗指令
使定时器不溢出即可
-
直接用cb.LoadBitmap(IDB_BITMAP)、cb.LoadBitmap(IDB_BITMAP2)……即可。
-
试试”KeilC51v750.rar“
-
学习。。。。。
-
4楼已经给出了答案。
-
可能是你的GPRS模块已建链了,10S的间隔太短,无法完成关闭或空闲对应的GPRS链接,导致网络不可用。
关闭或空闲对应的GPRS数据链路,需要一定的时间吧,
建议每次GPRS数据传输后,在间隔中,首先对GPRS进行断链,并查询下网络看看,
-
用Cfiledlg类将所有数据提出来,然后按空格或者回车分开吧~虽然速度有点慢,但是可以解决问题
-
今天散了这么多分啊!
祝早日康复,春节快乐!
-
前7位是地址,最后以为是读写控制位,1位读,所以要比写多1了,协议上写的明白.
-
顶上
-
RTL8019的复位引脚 一般不是都连到cpu的复位引脚上了吗??
-
系统还原?没听说过。