找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

N76E003 串口使用115200波特率例程

[复制链接]
楼主
slotg 发表于 2020-7-20 14:39:20 | 显示全部楼层
请问一下,在规格书里修改 HIRC 的方式是直接读取 RCTRIM0,RCTRIM1 修改后再写入,不过在楼主的程序中是使用 IAP 读取数据后修改后再写入 RCTRIM0,RCTRIM1 ,这2种方式有什么不同吗?
回复 支持 反对

使用道具 举报

沙发
slotg 发表于 2020-7-21 14:01:46 | 显示全部楼层
游客 58.246.86.x 发表于 2020-7-21 11:26
寄存器RCTRIM0,RCTRIM1是有时效保护的,设置TA=0XAA;TA=0X55;后可以直接读写的。楼主程序里是先用IAP从fl ...

RCTRIM0,RCTRIM1 可以直接读取,但是写入的话是有时效访问保护,在官方的N76E003规格书(v1.08)里的处理方式是:
  1.     hircmap0 = RCTRIM0;
  2.     hircmap1 = RCTRIM1;
  3.     trimvalue16bit = ((hircmap0<<1)+(hircmap1&0x01));
复制代码

不过楼主程序的作法是:
  1.     set_IAPEN;
  2.     IAPAL = 0x30;
  3.     IAPAH = 0x00;
  4.     IAPCN = 0x04;
  5.     set_IAPGO;
  6.     hircmap0 = IAPFD;
  7.     IAPAL = 0x31;
  8.     IAPAH = 0x00;
  9.     set_IAPGO;
  10.     hircmap1 = IAPFD;
  11.     clr_IAPEN;
  12.     hircmap1 = hircmap1&0x01;
  13.     trimvalue16bit = ((hircmap0<<1)+(hircmap1&0x01));
复制代码

这2种不晓得有什么区别?

而 IAPCN 的控制码 0x04 应该是读96位UID,但是楼主程序里的地址 0x0030 是什么数据呢?
回复 支持 反对

使用道具 举报

板凳
slotg 发表于 2020-7-21 20:56:23 | 显示全部楼层
游客 58.246.86.x 发表于 2020-7-21 17:11
30 31位置存储的是16MHZ的校准值。从这里读取出来再微调后存到寄存器RCTRIM0,RCTRIM1比较准。如果用读RCT ...

谢谢,请问30,31这些IAP地址的功能在那份文件可以查到?
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU