MiniCat 发表于 2012-9-5 14:41:52

请教R8C/1B R5F211B4 WDT Dataflash应用上的几个问题

1. R8C/1B 与485接口灌电流问题
R8C/1B 供电3.3V
485芯片供电5V
当初设计的时候没有考虑全面,直接用单片机的TXD连的485的RXD,单片机的RXD连的485的TXD,因为单片机这端是3.3V供电,485是5V供电,造成单片机的TXD是3.3V,RXD是4.1V,这样就在单片机的RXD引脚沿着IO口的保护二极管有一个流向VCC的灌电流,用万用表测量大约11ma,目前用着倒没发现烧坏IO口的问题,但是怕时间长了出问题。

下一版这里肯定要做IO电平匹配了,但是这次版本已经定做了1万个PCB,补救措施基本没有了,问下如果这样用,时间长了,会使IO口损坏吗?有什么隐患吗?

2.R8C/1B 看门狗中断模式处理方法#pragma interrupt WdtIntettupt
void WdtIntettupt(void)//看门狗中断模式
{
wdtr=0x00;
wdtr=0xff;//喂狗
WdtConut++;
if(WdtConut>5)
{
SysReStart(); //系统重启
}
}
程序里执行WdtConut=0//来喂狗

看门狗采用这种方式来处理,这样14.7456M的晶振,128分频,可以有1S多的喂狗时间,这样可以解决闪存等问题,可是这样做又有一个新问题,如果程序跑飞了,这个狗还会起作用吗?有这样的一个疑问,大家帮忙看下。
我之前有用下面的方式:if(!fmr00)//闪存编程擦出执行中
{

if(fmr43 == 1)//擦除
{
   fmr41 = 0;
}
else if(fmr44 == 1)//编程
{
   fmr42 = 0;
}
else//错误状态
{
   SysReStart();
}
}
else
{
SysReStart();
}
来处理闪存问题,哪种更好。

3.R8C/1B DataFlash问题
1).R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
2).在向DataFlash一个地址写0xFF,无论写几次0xFF之后是否还可以在此地址写入其他数据,换句话说就是只要这个地址有一位不是0,都可以向这位写数据,1可变0 0不可变1是否可以这样理解。

问题比较多,一边调试一边出问题,一直没找到答案,希望大家帮我解答下。

MiniCat 发表于 2012-9-5 20:41:32

今天哪位DX在,帮忙瞧瞧呀

MiniCat 发表于 2012-9-8 16:43:41

555,怎么就没个人过来搭理我下呢???

R8C 发表于 2012-9-8 21:38:32

使用挂起功能,在定时中断中喂狗,就OK,我通常都是使用32ms的看门狗

R8C 发表于 2012-9-8 21:46:27

3.R8C/1B DataFlash问题
1).R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
回复:看门狗有两种模式:中断和复位,开启挂起功能指的是在操作FLASH时,当在擦除或编程时,CPU是
保持状态,它可以响应中断,待处理好中断程序,再返回执行FLASH的操作

2).在向DataFlash一个地址写0xFF,无论写几次0xFF之后是否还可以在此地址写入其他数据,换句话说就是只要这个地址有一位不是0,都可以向这位写数据,1可变0 0不可变1是否可以这样理解。
回复:理解正确

MiniCat 发表于 2012-9-9 12:10:19

R8C 发表于 2012-9-8 21:46 static/image/common/back.gif
3.R8C/1B DataFlash问题
1).R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
回复: ...

感谢您的回答。

R8C 发表于 2012-9-9 23:13:09

.R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
回复:看门狗中断属于非屏蔽中断,如果不开启挂起功能,是不会执行看门狗中断,因为
CPU是保持状态,待完成擦除或编程后,再执行看门狗中断

R8C 发表于 2012-9-9 23:32:47

正确的回复:EW1模式
如果接受看门狗定时器的非屏蔽中断请求,就立即强制停止自动
擦除或者自动编程,对闪存进行复位。在一定时间后重新启动闪存,然后开始中断处理。
因为强制停止,可能无法从自动擦除中的块或者自动编程中的地址读取正常值,所以必须在重新启动
闪存后再次执行自动擦除,并且确认正常结束

R8C 发表于 2012-9-9 23:34:32

7楼的回复错误,看错了,8楼的是正确的

R8C 发表于 2012-9-9 23:40:09

所以要选择可屏障的中断,并挂起

MiniCat 发表于 2012-9-13 08:56:58

R8C 发表于 2012-9-9 23:40 static/image/common/back.gif
所以要选择可屏障的中断,并挂起

非常感谢您的回答,让我茅塞顿开,感谢!!!
页: [1]
查看完整版本: 请教R8C/1B R5F211B4 WDT Dataflash应用上的几个问题