[应用方案] 开天辟地头一回,新唐新产品NuMaKer-M471测评记

[复制链接]
2317|7
手机看帖
扫描二维码
随时随地手机跟帖
sumoon_yao|  楼主 | 2021-8-15 16:54 | 显示全部楼层 |阅读模式
进口芯片缺货严重,一直想了解下新唐的MCU,正好此次二姨家组织了新唐的新产品测评活动,于是毫不犹豫就申请了,并且获得了这次的测评机会,感谢新唐公司,感谢二姨。
  习惯使用keil开发MCU,先去keil官网下载M471的固件包,如何快速找到所需要的固件包,可以通过直接搜索MCU型号,系统会自动提示该MCU对应的固件包。

M471对应的固件包.png

下载,在keil的pack installer下安装好固件包后就可以看到所要使用的芯片型号了:

M471固件包安装完毕.png

    因为是第一次使用新唐的开发板,所以板载的下载调试器等的驱动必须要安装的,去官网下载驱动软件:
https://www.nuvoton.com.cn/tool-and-software/ide-and-compiler/


官网资料下载.png

同时把需要的开发板支持软件包BSP也下载下来:
https://www.nuvoton.com.cn/board/numaker-m471ki/?index=2
  需要的软件驱动等安装完成,这时就可以给板子上电了,注意板子上有2个USB口,必须要插在下载调试器的那个USB口上,否则虚拟串口不能用,不方便测试,同时要注意将VCOM拨码开关的1和2拨到on位置。将板子通过USB线插入电脑,此时在设备管理器上将能看到一个虚拟串口:

设备管理器.png

  打开串口终端,按下板子上的复位键:

出厂程序运行结果.png

  这是开发板自带的出厂程序运行结果。

打开BSP包中示例代码Template目录下的例程,主程序是这样的:
int main()
{
    SYS_Init();
    /* Init UART to 115200-8n1 for printmessage */
    UART_Open(UART0, 115200);
    /* Connect UART to PC, and open a terminaltool to receive following message */
    printf("Hello World\n");
    /* Got no where to go, just loop forever */
    while(1);
}
  初始化硬件资源以及串口后,输出一串字符:Hello World。

  编译,没有报错,点击下载,跳出错误提示窗:

初次下载报错.png

  Nu-Link下载器需要升级,点击“是”按钮,系统会自动升级,升级完成后提示:

固件更新完成.png

  再次点击下载,没有报错信息了。此时串口终端输出了新下载程序的运行结果:

新程序运行结果.png

  新唐的开发板例程做的真好,在BSP包例子代码下有个目录StdDriver,里面有所有硬件资源的示例程序,这为初次使用新唐MCU的工程师带来了极大的便利。再打开一个例子程序进一步熟悉一下,选择GPIO_OutputInput,这个例子程序其实也很简单,主程序是这样的:
int32_t main(void)
{
    int32_t i32Err, i32TimeOutCnt;
    /* Init System, IP clock and multi-functionI/O. */
    SYS_Init();
    /* Init UART0 for printf */
    UART0_Init();
    printf("\n\nCPU @ %dHz\n",SystemCoreClock);
    printf("+-------------------------------------------------+\n");
    printf("|    PB.3(Output) and PC.1(Input) SampleCode     |\n");
   printf("+-------------------------------------------------+\n\n");
   /*-----------------------------------------------------------------------------------------------------*/
    /* GPIO Basic Mode Test --- Use Pin DataInput/Output to control GPIO pin                              */
   /*-----------------------------------------------------------------------------------------------------*/
    printf("  >> Please connect PB.3 and PC.1 first<< \n");
    printf("     Press any key to start test by using [PinData Input/Output Control] \n\n");
    getchar();
    /* Configure PB.3 as Output mode and PC.1as Input mode then close it */
    GPIO_SetMode(PB, BIT3, GPIO_MODE_OUTPUT);
    GPIO_SetMode(PC, BIT1, GPIO_MODE_INPUT);
    i32Err = 0;
    printf("GPIO PB.3(output mode) connectto PC.1(input mode) ......");
    /* Use Pin Data Input/Output Control topull specified I/O or get I/O pin status */
    /* Set PB.3 output pin value is low */
    PB3 = 0;
    /* Set time out counter */
    i32TimeOutCnt = 100;
    /* Wait for PC.1 input pin status is lowfor a while */
    while(PC1 != 0)
    {
        if(i32TimeOutCnt > 0)
        {
            i32TimeOutCnt--;
        }
        else
        {
            i32Err = 1;
            break;
        }
    }
    /* Set PB.3 output pin value is high */
    PB3 = 1;
    /* Set time out counter */
    i32TimeOutCnt = 100;
    /* Wait for PC.1 input pin status is highfor a while */
    while(PC1 != 1)
    {
        if(i32TimeOutCnt > 0)
        {
            i32TimeOutCnt--;
        }
        else
        {
            i32Err = 1;
            break;
        }
    }
    /* Print test result */
    if(i32Err)
    {
        printf("  [FAIL].\n");
    }
    else
    {
        printf("  [OK].\n");
    }
    /* Configure PB.3 and PC.1 to defaultQuasi-bidirectional mode */
    GPIO_SetMode(PB, BIT3, GPIO_MODE_QUASI);
    GPIO_SetMode(PC, BIT1, GPIO_MODE_QUASI);
    while(1);
}
将板子的PB3口和PC1口短接,PB3置高,则PC1读取也应该是高电平;PB3置低,则PC1读取也应该是低电平,否则将输出错误提示。

编译程序,下载后运行,PB3口和PC1口没有短接的运行结果是这样的:

未连接2个脚.png

根据原理图:

原理图.png

  将PB3口和PC1口用杜邦线短接,此时程序的运行结果则变为:

连接2个脚后的运行结果.png

  本次测评就到这儿,后面将根据时间情况进一步测试板子的其它资源,如PWM,定时器,I2C通讯等。


使用特权

评论回复
daichaodai| | 2021-8-16 12:22 | 显示全部楼层
新唐的片子还是不错滴

使用特权

评论回复
评论
sumoon_yao 2021-8-16 12:32 回复TA
是的,性价比比较高! 
renzheshengui| | 2021-9-10 15:30 | 显示全部楼层
测评效果还不错啊

使用特权

评论回复
wakayi| | 2021-9-10 15:33 | 显示全部楼层
楼主的调试还是比较顺利的

使用特权

评论回复
wowu| | 2021-9-10 15:35 | 显示全部楼层
在哪里买的电路板啊

使用特权

评论回复
xiaoqizi| | 2021-9-10 15:36 | 显示全部楼层
这款芯片容易上手吗

使用特权

评论回复
一刀一级| | 2021-9-10 16:24 | 显示全部楼层
这款芯片容易上手吗

使用特权

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

本版积分规则