打印
[DemoCode下载]

N76E003通过 IAP读UID

[复制链接]
2940|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
antusheng|  楼主 | 2017-10-31 16:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2015 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2016
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 Read actual bandgap value by IAP command
//***********************************************************************************************************
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"

UINT8 UID_BYTE(UINT8 Addr)
{
                UINT8 DATATEMP;
                set_IAPEN;
                IAPAL = Addr;
    IAPAH = 0x00;
    IAPCN = READ_UID;
    set_IAPGO;
                DATATEMP = IAPFD;
                clr_IAPEN;
                return DATATEMP;
}

void main(void)
{
        UINT8 READ1,READ2;
        Set_All_GPIO_Quasi_Mode;
        InitialUART0_Timer3(115200);
       
//---------toggle GPIO1---------       
        clr_GPIO1;
        Timer0_Delay1ms(100);
        set_GPIO1;
        Timer0_Delay1ms(100);
        clr_GPIO1;
        Timer0_Delay1ms(100);
        set_GPIO1;
        Timer0_Delay1ms(100);
//---------end toggle GPIO1---------
       
        READ1 = UID_BYTE(0x02);
        READ2 = UID_BYTE(0x05);
       
        while(1)
        {
//                        printf ("\n Value = 0x%bx",READ1);
        }

}


沙发
antusheng|  楼主 | 2017-10-31 16:19 | 只看该作者
是不是超级简单。是不是学会了。

使用特权

评论回复
板凳
antusheng|  楼主 | 2017-10-31 16:20 | 只看该作者
但是请看头文件,其中调用了不少头文件的,所以官方替我们考虑了很多了。

使用特权

评论回复
地板
zhuotuzi| | 2017-10-31 20:30 | 只看该作者
典型的指针应用,在某个地址存放了特殊的内容,通过指针读出来。

使用特权

评论回复
5
yiyigirl2014| | 2017-10-31 23:01 | 只看该作者
开启先闪烁几下,然后再读取。

使用特权

评论回复
6
天灵灵地灵灵| | 2017-11-5 17:47 | 只看该作者
这个应用,可以做加密,买的同一批肯定号码是连续的,先来个判断是否在那个范围,然后运行系统

使用特权

评论回复
7
玛尼玛尼哄| | 2017-11-5 18:02 | 只看该作者
这个直接拿来用就可以啊,很方便

使用特权

评论回复
8
小白flame| | 2017-12-19 11:40 | 只看该作者
我发现2快芯片的地址都是相同的数字,每个UID都是一样的。楼主试过吗?

使用特权

评论回复
9
zhuotuzi| | 2017-12-19 11:50 | 只看该作者
原来如此,做BootLoader也是这方式吧。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

1470

帖子

5

粉丝