[牛人杂谈] 读取96位的UID和例子的说明

[复制链接]
1652|13
 楼主| dongnanxibei 发表于 2018-4-17 15:24 | 显示全部楼层 |阅读模式
我们先看例子,会发现,这个写例程序的人真坑货一枚。。说明都不改好。用的同系列的例子修改而成的,忘了改说明了
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/

  6. //***********************************************************************************************************
  7. //  Nuvoton Technoledge Corp.
  8. //  Website: http://www.nuvoton.com
  9. //  E-Mail : MicroC-8bit@nuvoton.com
  10. //  Date   : Apr/21/2017
  11. //***********************************************************************************************************

  12. //***********************************************************************************************************
  13. //  File Function: N76E003 Read actual bandgap value by IAP command
  14. //***********************************************************************************************************
  15. #include "N76E003.h"
  16. #include "Common.h"
  17. #include "Delay.h"
  18. #include "SFR_Macro.h"
  19. #include "Function_define.h"

  20. UINT8 UID_BYTE(UINT8 Addr)
  21. {
  22.                 UINT8 DATATEMP;
  23.                 set_IAPEN;
  24.                 IAPAL = Addr;
  25.     IAPAH = 0x00;
  26.     IAPCN = READ_UID;
  27.     set_IAPGO;
  28.                 DATATEMP = IAPFD;
  29.                 clr_IAPEN;
  30.                 return DATATEMP;
  31. }

  32. void main(void)
  33. {
  34.         UINT8 READ1,READ2;
  35.         Set_All_GPIO_Quasi_Mode;
  36.         InitialUART0_Timer3(115200);
  37.        
  38. //---------toggle GPIO1---------       
  39.         clr_GPIO1;
  40.         Timer0_Delay1ms(100);
  41.         set_GPIO1;
  42.         Timer0_Delay1ms(100);
  43.         clr_GPIO1;
  44.         Timer0_Delay1ms(100);
  45.         set_GPIO1;
  46.         Timer0_Delay1ms(100);
  47. //---------end toggle GPIO1---------
  48.        
  49.         READ1 = UID_BYTE(0x02);
  50.         READ2 = UID_BYTE(0x05);
  51.        
  52.         while(1)
  53.         {
  54. //                        printf ("\n Value = 0x%bx",READ1);
  55.         }

  56. }


 楼主| dongnanxibei 发表于 2018-4-17 15:25 | 显示全部楼层
这里只读出来了两个字节,96BIT,对应是12个字节才对。。这里是个失误,起码要说明吧。。。
 楼主| dongnanxibei 发表于 2018-4-17 15:28 | 显示全部楼层
无标题.png

看这个地方,手册216页,再看读取函数,你会发现,真他妈简单。
 楼主| dongnanxibei 发表于 2018-4-17 15:29 | 显示全部楼层
希望我这贴能帮到对UID读取有疑问的朋友。多看例子,看的同时对照手册,别乱猜。
xinxianshi 发表于 2018-4-17 16:09 | 显示全部楼层
原来如此,我看明白了。
21mengnan 发表于 2018-4-17 19:23 | 显示全部楼层
果然是,读取带隙基准实际值的例子,改的。这标题都不改,扣他一个月的**腿。
dongliushui 发表于 2018-4-20 23:43 | 显示全部楼层
讲解的很到位。
zhuomuniao110 发表于 2018-4-21 22:36 | 显示全部楼层
楼主理解的很透彻。
小灵通2018 发表于 2018-4-22 17:43 | 显示全部楼层
用这个做防盗版还是可以的。
heisexingqisi 发表于 2018-4-22 20:42 | 显示全部楼层
不懂的话,看着手册,很容易懂了。
ylslib 发表于 2018-4-30 14:16 | 显示全部楼层
dongnanxibei 发表于 2018-4-17 15:29
希望我这贴能帮到对UID读取有疑问的朋友。多看例子,看的同时对照手册,别乱猜。 ...

同意你的吐槽,写例程的家伙真是个坑货
heisexingqisi 发表于 2018-4-30 21:07 来自手机 | 显示全部楼层
ylslib 发表于 2018-4-30 14:16
同意你的吐槽,写例程的家伙真是个坑货

临时工干的,哈哈
itsemi 发表于 2018-7-5 17:09 | 显示全部楼层
从96位里取2个字节出来更容易防盗
jasontu 发表于 2018-7-6 10:58 | 显示全部楼层
本帖最后由 jasontu 于 2018-7-6 11:00 编辑

官網上有更新的BSP可以參考
您需要登录后才可以回帖 登录 | 注册

本版积分规则

225

主题

3848

帖子

18

粉丝
快速回复 在线客服 返回列表 返回顶部