新唐M251SE3AE自学笔记1

首先是PACK包,KEIL官方下载不太好下,好在有软件同事给下下来了:
Nuvoton.NuMicro_DFP.1.3.21.pack

其次是Nu-link驱动:Nu-Link_Keil_Driver 3.13.7537r.exe 新唐官方网站有

第一节课:Hello Word

void SYS_Init(void)
{
    /*---------------------------------------------------------------------------------------------------------*/
    /* Init System Clock                                                                                       */
    /*---------------------------------------------------------------------------------------------------------*/

    /* Unlock protected registers 解锁受保护寄存器 */
    SYS_UnlockReg();

    /* Enable Internal RC 12MHz clock 使能内部RC 12MHz时钟*/
		/*
		[0]外部高速晶振使能位HXTEN √√√

  [1]外部低速晶振使能位LXTEN

  [2]内部高速RC振荡器使能位HIRCEN

  [3]内部低速RC振荡器使能位LIRCEN
		*/
    CLK_EnableXtalRC(CLK_PWRCTL_HIRCEN_Msk);

    /* 检查所选时钟源状态 */
    CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk);

    /* 设置HCLK时钟源和HCLK时钟分频器 */
    CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));

    /* 此功能启用模块时钟 */
    CLK_EnableModuleClock(UART0_MODULE);

    /* 该功能设置了所选模块时钟源和模块时钟分频器 */
    CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART0SEL_HIRC, CLK_CLKDIV0_UART0(1));

    /* 这个函数用于更新SystemCoreClock变量当核心时钟改变时必须调用。 */
    /* User can use SystemCoreClockUpdate() to calculate SystemCoreClock. */
    SystemCoreClockUpdate();

    /*---------------------------------------------------------------------------------------------------------*/
    /* Init I/O Multi-function   初始化uart0默认多功能引脚                                                                              */
    /*---------------------------------------------------------------------------------------------------------*/
    Uart0DefaultMPF();

    /* Lock protected registers 锁受保护寄存器*/
    SYS_LockReg();
}
int main()
{
    SYS_Init();

    /* Init UART to 115200-8n1 for print message */
    UART_Open(UART0, 9600);

    /* Connect UART to PC, and open a terminal tool to receive following message */
    printf("Hello World \n");

    /* Got no where to go, just loop forever */
    while (1);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值