搜索
bottom↓
回复: 10

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

[复制链接]

出0入0汤圆

发表于 2012-9-5 14:41:52 | 显示全部楼层 |阅读模式
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 看门狗中断模式处理方法
  1. #pragma interrupt WdtIntettupt
  2. void WdtIntettupt(void)//看门狗中断模式
  3. {
  4. wdtr=0x00;
  5. wdtr=0xff;//喂狗
  6. WdtConut++;
  7. if(WdtConut>5)
  8. {
  9.   SysReStart(); //系统重启
  10. }
  11. }
复制代码
程序里执行WdtConut=0//来喂狗

看门狗采用这种方式来处理,这样14.7456M的晶振,128分频,可以有1S多的喂狗时间,这样可以解决闪存等问题,可是这样做又有一个新问题,如果程序跑飞了,这个狗还会起作用吗?有这样的一个疑问,大家帮忙看下。
我之前有用下面的方式:
  1. if(!fmr00)//闪存编程擦出执行中
  2. {
  3.   
  4.   if(fmr43 == 1)//擦除
  5.   {
  6.    fmr41 = 0;
  7.   }
  8.   else if(fmr44 == 1)//编程
  9.   {
  10.    fmr42 = 0;
  11.   }
  12.   else//错误状态
  13.   {
  14.    SysReStart();
  15.   }
  16. }
  17. else
  18. {
  19.   SysReStart();
  20. }
复制代码
来处理闪存问题,哪种更好。

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

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

出0入0汤圆

 楼主| 发表于 2012-9-5 20:41:32 | 显示全部楼层
今天哪位DX在,帮忙瞧瞧呀

出0入0汤圆

 楼主| 发表于 2012-9-8 16:43:41 | 显示全部楼层
555,怎么就没个人过来搭理我下呢???

出0入0汤圆

发表于 2012-9-8 21:38:32 | 显示全部楼层
使用挂起功能,在定时中断中喂狗,就OK,我通常都是使用32ms的看门狗

出0入0汤圆

发表于 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是否可以这样理解。
回复:理解正确

出0入0汤圆

 楼主| 发表于 2012-9-9 12:10:19 | 显示全部楼层
R8C 发表于 2012-9-8 21:46
3.R8C/1B DataFlash问题
1).R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
回复: ...

感谢您的回答。

出0入0汤圆

发表于 2012-9-9 23:13:09 | 显示全部楼层
.R8C/1B 在操作DataFlash时,如果不开启挂起功能时,会执行看门狗中断吗?
回复:看门狗中断属于非屏蔽中断,如果不开启挂起功能,是不会执行看门狗中断,因为
CPU是保持状态,待完成擦除或编程后,再执行看门狗中断

出0入0汤圆

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

出0入0汤圆

发表于 2012-9-9 23:34:32 | 显示全部楼层
7楼的回复错误,看错了,8楼的是正确的

出0入0汤圆

发表于 2012-9-9 23:40:09 | 显示全部楼层
所以要选择可屏障的中断,并挂起

出0入0汤圆

 楼主| 发表于 2012-9-13 08:56:58 | 显示全部楼层
R8C 发表于 2012-9-9 23:40
所以要选择可屏障的中断,并挂起

非常感谢您的回答,让我茅塞顿开,感谢!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 04:48

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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