搜寻
常见问答 / 使用下列指令初始化系统时钟源时,为什么HCLK的时钟源无法切换成PLL? CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk); CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL;
https://www.nuvoton.com.cn/support/technical-support/faq/d7065f9d-04f1-11ea-b113-05daf7eedf03/
HIRC, PLL, 时钟切换 使用下列指令初始化系统时钟源时,为什么HCLK的时钟源无法切换成PLL? CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk); CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL; 1480588874752 问:使用下列指令初始化系统时钟源时,为什么HCLK的时钟源无法切换成PLL? CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk); CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL; 答:在执行第一行指令 CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk); 时,HCLKSEL (CLKSEL0[2:0])将设为0x00。当HCLKSEL设为0x00时,如下图所示,将切换HCLK的时钟源为外部晶振。 如果此时外部晶振没有稳定或使能,这时切换时钟源会失败,HCLKSEL将保持原本设定 (初始为0x07,时钟源为HIRC)。 因此在执行第二行指令 CLK->CLKSEL0 |= CLK_CLKSEL0_HCLKSEL_PLL; 时,HCLKSEL无法正确设为PLL,HCLK无法切换成PLL。 用户在切换时钟源时,需要确认要切换的时钟源已经稳定。建议使用以下方法切换时钟源: 1、直接写值 CLK->CLKSEL0 = (CLK->CLKSEL0 & ~CLK_CLKSEL0_HCLKSEL_Msk) | CLK_CLKSEL0_HCLKSEL_PLL; 2、调用函数 CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_PLL, CLK_CLKDIV_HCLK(2));
常见问答 / 窗口看门狗定时器(WWDT,Window Watch Dog Timer)的主要用途是什么?
https://www.nuvoton.com.cn/support/technical-support/faq/d70b68b0-04f1-11ea-b113-05daf7eedf03/
窗口看门狗定时器(WWDT,Window Watch Dog Timer)的主要用途是什么? 1480414418742 当程序在执行过程中,因为不可预计的错误而无法控制,并且错误地重置WWDT的计数器时,WWDT会通过重启芯片来保护整个系统。 WWDT具有一个6位的计数器,以及可设置的重置窗口(Reload Window)。在运行时,WWDT会要求程序在重置窗口内重置定时器。当程序不在重置窗口内重置计数器,或是计数器向下计数到0时,程序已经处于无法控制的状态;此时窗口看门狗定时器会重启系统,如下图所示:
常见问答 / 使用NuMicro®系列单片机,同一模块的ADC,其各个通道可否同时取样?
https://www.nuvoton.com.cn/support/technical-support/faq/d776fbfc-04f1-11ea-b113-05daf7eedf03/
使用NuMicro®系列单片机,同一模块的ADC,其各个通道可否同时取样? 1486027960325 不行,同一模块的ADC不支持多个通道同时取样。但NuMicro® M0519系列支持两个ADC模块,可以同时对不同模块的通道取样。 而以NuMicro® M451系列为例: 当AVDD工作在4.5 ~ 5.5V时,时钟源频率限制最快可以输入20 MHz,而完成一次取样需要20个ADC clock。 因此ADC各通道的取样频率间隔最短时间为1uS。
常见问答 / 如何使用NuMicro® M4的DSP功能做频谱分析?
https://www.nuvoton.com.cn/support/technical-support/faq/d786b375-04f1-11ea-b113-05daf7eedf03/
M4, DSP, FFT, Spectrum 如何使用NuMicro® M4的DSP功能做频谱分析? 1486031337712 详细范例程序可以参考以下链接: http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=EC0120160922110158 开启DSP功能: 1. 进入Keil后选择Target Options,切换至C/C++窗口,Define输入ARM_MATH_CM4=1。 2. 在Library部分需要加入arm_cortexM4lf_math.lib,其位置为\Library\CMSIS\Lib\ARM。 3. 在主程序里面include arm_math.h文件,完成后即可在主程序里面调用DSP函数库。 首先欲计算的数据格式偶数项为实数,奇数项为虚数,例如1+0.5i, 2+4i, 3+2i=>testinput={1, 0.5, 2, 4, 3, 2},FFTsize=3。 再来调用函数arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse)对快速傅立叶运算做初始设定,包括运算的数值个数,要进行快速傅立叶或反快速傅立叶变换。 调用函数arm_cfft_radix4_f32(&S, testinput)进行快速傅立叶变换运算,并把运算结果存在数组testinput,其运算结果为复数。 对复数取绝对值得到各频率强度大小,并输出结果到Output,由于结果为左右对称,因此计算量为fftSize/2, arm_cmplx_mag_f32(testinput, Output, fftSize/2)。 得到各频率强度后即为y轴数据,再来计算x轴各频率方程式为: 频率=(第几个数×取样频率)/FFT样本数 。 把计算结果值作图如下,即可得到此信号最高频率约为1 kHz。
常见问答 / 使用Keil为何无法烧录APROM?
https://www.nuvoton.com.cn/support/technical-support/faq/d86d6a5b-04f1-11ea-b113-05daf7eedf03/
Downloads, Nu-Link Me, ICE, IDE Flash, Keil 使用Keil为何无法烧录APROM? 1516081147160 用户欲烧录程序在APROM,请先依照以下步骤做初步问题排除: 确认Code size Code size (Code + RO data) 编译完成后在Build Output显示 确认IC内部的APROM是否够用,请在Keil主画面下点选 Project→Options for Target→Device→App Flash 2. 确认烧录内存区块是否合法 在分页Linker中R/O与R/W Base设定需为微控制器合法区块,如下图 另外Flash Select若选择LDROM,档案大于LDROM内存空间会无法烧录。请在Keil主画面下点选 Project→Options for Target→Utilities→Settings来开启下图窗口 3. 若为Nu-Link-Me V3.1版本之后,请关闭拨码开关Mass Storage功能。Mass Storage开启时为USB功能,拉入.bin file可以直接烧录,但在Mass Storage的模式之下,不能使用Keil烧录。 4. 如果是使用NUC505,Boot Select (SW1) 要设定ICE-SPI Mode Boot Select (SW1) S4 S3 S2 S1 Boot From Descriptions 0 1 1 0 ICE SPI EXT ICE Mode with External SPI Flash 0 1 1 1 ICE-SPI ICE Mode with Internal SPI Flash 1 0 1 1 ICP Boot from ICP Mode 1 1 0 1 SPI EXT Boot from External SPI Flash 1 1 1 0 USB Boot from USB 1 1 1 1 SPI Boot from Internal SPI Flash
常见问答 / 如何解决在新唐开发板使用 Arm library 并以 C++ 进行机器学习程序开发时,只能运行 Debug mode 而无法正常执行的问题? (disassmebly 内持续看到 BKPT 出现)
https://www.nuvoton.com.cn/support/technical-support/faq/c2f673b8-011b-11ee-ab3e-000d3a082cb4/
Machine learning, ML, Continual breakpoints 如何解决在新唐开发板使用 Arm library 并以 C++ 进行机器学习程序开发时,只能运行 Debug mode 而无法正常执行的问题? (disassmebly 内持续看到 BKPT 出现) 1683014520000 若发生在 debug mode 可运行,但不接 ICE 直接 free run 程序会卡住,且从 debug mode 发现程序持续卡在断点的现象时,可能是 semihosting 错误。 在新唐机器学习范例中使用 Arm library 时,若在出现「stdout/stdin/stderr multiply defined…」等错误警告时,直接将重复定义的项目删除便会导致 semihosting 错误而发生程序不断进 breakpoint 的现象。 NOTE: 为避免 semihosting 错误问题,在删除重复定义的项目后,需在 retarget.c 内新增下列程序代码: extern void $Super$$_sys_open(void); FILEHANDLE $Sub$$_sys_open(const char *name, int openmode) { return 1; /* everything goes to the same output */ } (若编译中有其他 L6200E 函数错误警告 (Symbol _sys_XXX multiply defined),请一并新增 sys_XXXX() 的 FILEHANDLE 定义)
常见问答 / ADC 转换时所需要的操作电压?
https://www.nuvoton.com.cn/support/technical-support/faq/d3e0dce2-04f1-11ea-b113-05daf7eedf03/
ADC 转换时所需要的操作电压? 1423030249301 电源可分为三个部分: 1, 由 AVDD 和 AVSS 提供的模拟电源,为模拟部分工作提供电压。 2, 由 VDD 和 VSS 提供的数字电源,提供一个固定的 1.8V 的数字电源,用于数字操作和I/O 引脚的内部稳压电源。(除 NUC100/120 AN, NUC100/120 BN and NUC130/140 CN and M051 AN 系列为2.5V) 3, VBUS 提供给 USB 的电源,用于 USB 模块传输操作。(仅用于NuMicro USB Series) ADC转换的工作电压范围为0 ~ VREF,模拟电源应该与数字电源等电位,否则会有leakage现象。 下图为NUC122系列电源架构图范例。
常见问答 / ISP, ICP及IAP是什麼功能?
https://www.nuvoton.com.cn/support/technical-support/faq/d3e8cc25-04f1-11ea-b113-05daf7eedf03/
ISP, ICP及IAP是什麼功能? 1423469461294 ISP是指“在系统上编程”,目标芯片使用USB/UART/SPI/I²C/RS-485/CAN周边接口的LDROM引导代码去更新晶片内部APROM、数据闪存(DataFlash)和用户配置字(Config)。 ICP是指“在电路编程”,PC上运行的软件“NuMicro ICP编程工具”透过SWD的端口更新晶片内部APROM、LDROM、数据闪存(DataFlash)和目标用户配置字(Config)芯片。 IAP是指「在应用上程序设计」,是一个提供使用者切换在APROM或LDROM执行程序代码而不需重置的功能,用户可以设置IAP功能藉由重启芯片,并设置于CBS (CONFIG0[7:6])芯片启动选择位为2或0。当芯片启动带有IAP功能时,任何其他可执行区域页的代码可于任意时刻被映射至第一页(0x0000_0000~0x0000_01FF),用户可藉由ISPADR寄存器填入目标芯片重新映像地址来更改第一个可执行区域页地址,再执行向量页重新映像(Vector Page Re-map)指令。变更重新映像地址后,用户可藉由读取VECMAP(ISPSTA[20:9])来检查是否变更成功。 (下图为M05xDN/DE series 设置IAP后程序代码可执行区域的范例)
常见问答 / NuMicro™ Cortex-M0/M4芯片是否支持代码保护用户的程序代码吗?如何解开LOCK位上的用户配置字?
https://www.nuvoton.com.cn/support/technical-support/faq/d3ee2358-04f1-11ea-b113-05daf7eedf03/
Code Protection NuMicro™ Cortex-M0/M4芯片是否支持代码保护用户的程序代码吗?如何解开LOCK位上的用户配置字? 1423471326414 是的,它提供了LOCK位上的用户配置字,以保护用户的程序代码。这个锁定位被置位时,闪存上的所有数据将被读回为0xFFFFFFFF。只有做到“整个芯片擦除”操作为目标芯片解锁LOCK位。
常见问答 / 页擦除闪存和烧写的容量分别为多少?
https://www.nuvoton.com.cn/support/technical-support/faq/d3f2b73b-04f1-11ea-b113-05daf7eedf03/
页擦除闪存和烧写的容量分别为多少? 1423471655304 Cortex-M0擦除每页为512字节,而Cortex-M4则为2k字节,烧写为每4个字节(1个字)。