搜寻
常见问答 / 在Keil开发环境的调试模式(Debug Mode)下,为什么查看的变量会显示“not in scope”?
https://www.nuvoton.com.cn/support/technical-support/faq/d6040b34-04f1-11ea-b113-05daf7eedf03/
在Keil开发环境的调试模式(Debug Mode)下,为什么查看的变量会显示“not in scope”? 1446450840000 当在调试模式中产生中断时,要查看变量内容值,但是在watch window中却显示“not in scope”,如下图所示: 这是因为编译器在优化之后,会将变量存储在R1等寄存器中,而watch window仅能够从内部存储器中取值,所以会显示“not in scope”。 解决方法有3种: 将变量设置成全局变量。 将变量设置成volatile型。 将”Options for Target…”中”C/C++”的”Optimization “设置成”Level 0 (-O0)”,如下图所示:
常见问答 / 用户使用NuMicro®控制器做I2C开发,并使用查询方式发送数据时,应注意哪些问题?
https://www.nuvoton.com.cn/support/technical-support/faq/d60bac57-04f1-11ea-b113-05daf7eedf03/
用户使用NuMicro®控制器做I2C开发,并使用查询方式发送数据时,应注意哪些问题? 1446451140000 在使用NuMicro®控制器做I2C开发时, 如果不是采用中断方式处理数据,而是以查询方式处理时,应当注意下面状况: 在I2C总线发出STOP信号指令后,应等待一段时间,检查总线的状态,以确保STOP信号结束之后,方可发送START信号,否则将会导致程序错误。
常见问答 / 如何在BOD中断函数中擦写Flash数据?
https://www.nuvoton.com.cn/support/technical-support/faq/d610b56a-04f1-11ea-b113-05daf7eedf03/
如何在BOD中断函数中擦写Flash数据? 1446451320000 在系统进入BOD中断函数后,若要擦写Flash内部数据,则应关闭BOD功能,并且清除BODOUT。待擦写完成后,再重新打开BOD功能。
常见问答 / 如果在配置位中使能看门狗(WDT)功能,是否会影响ISP升级流程?
https://www.nuvoton.com.cn/support/technical-support/faq/d646b9a8-04f1-11ea-b113-05daf7eedf03/
如果在配置位中使能看门狗(WDT)功能,是否会影响ISP升级流程? 1464846303596 如果在配置位中使能看门狗功能,那么看门狗会自动启动。预设的时钟源是内部低速10KHz时钟,看门狗复位时间=溢出时间+延时时间=(2^18+1026)/10k=26.3秒。 在新唐提供的标准ISP范例程序,并未包含清看门狗的功能。如果在配置位中使能了看门狗功能,若ISP升级时间超过26.3秒就会出现看门狗复位,ISP升级会失败。 因此,如果客户使用标准ISP范例程序,并且需要在配置位中使能看门狗功能的话,请务必将清看门狗的功能加入程序中;否则当ISP操作时间超过26.3秒,会因为升级时间过长,超过看门狗复位时间,从而导致芯片复位,使ISP升级失败。
常见问答 / 为什么PDMA送出的数据内容,会发生位移现象?
https://www.nuvoton.com.cn/support/technical-support/faq/d650cbce-04f1-11ea-b113-05daf7eedf03/
为什么PDMA送出的数据内容,会发生位移现象? 1467018284492 当来源或目标的地址设为数组起始地址时,用户必须检查数组起始地址是否为字节(word)对齐。 以下例buffer起始地址为0x2000_0039,因内存排序为编译程序决定,会有非字节对齐的情况发生。 unsigned int test2; unsigned char test1; unsigned char buffer[100]; 当PDMA来源或目标的地址设定成buffer(0x2000_0039),PDMA的硬件配置会以字节存取(0x2000_0038)。 假设使用PDMA加UART传送数据时,将会送出0x01, 0x03…,而不是从0X03开始传送。 针对内存放置为非对齐字节的状况,可以使用aligned (4),让数组对齐内存中的字节 unsigned char buffer[100] __attribute__ ((aligned (4))); 数组buffer的起始地址会以4个byte的方式对齐摆放。 当PDMA来源或目标的地址设定成buffer(0x2000_003C),已有字节对齐。假设使用PDMA加UART传送数据时,将会从0X03开始传送。
常见问答 / 使用ADC取样时,如何达到最高的取样频率?
https://www.nuvoton.com.cn/support/technical-support/faq/d680405c-04f1-11ea-b113-05daf7eedf03/
使用ADC取样时,如何达到最高的取样频率? 1467351474652 使用ADC取样时,依据AVDD提供的电压,ADC有不同的时钟源频率限制。用户可以根据系统的模拟电压,选择最快的时钟源频率,来达到ADC的最高取样频率。 以NuMicro® NUC442/472系列为例: 当AVDD工作在4.5 ~ 5.5V时,时钟源频率限制最快可以输入16 MHz。我们可以选择倍频PLL作为时钟源,再经过适当的除频,取得最快的时钟源频率。 例如,将PLL倍频到80 MHz,再经过除频器除5,就可以得到16 MHz的时钟源,并且ADC的取样频率达到最高的800 kSPS。
常见问答 / 若UART传输数据时,发生传输线状态(Receive Line Status, RLS)中断,该如何处理可能造成中断的校验位错误标志(PEF)、帧错误标志(FEF)以及中断错误标志(BIF)?
https://www.nuvoton.com.cn/support/technical-support/faq/d684d43f-04f1-11ea-b113-05daf7eedf03/
若UART传输数据时,发生传输线状态(Receive Line Status, RLS)中断,该如何处理可能造成中断的校验位错误标志(PEF)、帧错误标志(FEF)以及中断错误标志(BIF)? 1467351801835 由于这三个标志会与UART数据一起储存于FIFO中,所以必须要在读出数据前,透过写1清除的方式,先将标志清除;以避免读出数据后造成FIFO层级改变,无法清除上一层FIFO储存的PEF、FEF以及BIF。 如果没有清除这三个标识就先读出数据,那么这些旗标会留在FIFO中。当下次该层级FIFO的资料被读出时,会因为这些旧的标志,而误触RLS中断。
常见问答 / 使用NuMicro® Cortex M0/M4系列芯片的SWD 调试(debug)时,为什么进入省电模式后功耗却不会下降?
https://www.nuvoton.com.cn/support/technical-support/faq/d6d5b38f-04f1-11ea-b113-05daf7eedf03/
使用NuMicro® Cortex M0/M4系列芯片的SWD 调试(debug)时,为什么进入省电模式后功耗却不会下降? 1472453079939 因为在调试模式下,Cortex®-M0/M4的SWD架构设计必须不断与主机通讯。因此,在调试模式下,Cortex®-M0/M4的内核会将省电模式关闭。
常见问答 / 当GPIO设置为I2C模式时,如何使用Schmitt Trigger的功能?
https://www.nuvoton.com.cn/support/technical-support/faq/d6da9592-04f1-11ea-b113-05daf7eedf03/
当GPIO设置为I2C模式时,如何使用Schmitt Trigger的功能? 1472453986722 当GPIO设置为I2C模式时,默认已经关闭Schmitt Trigger。用户必须先设置GPIO的Input Type Control,再设置Schmitt Trigger使能。 以NUC240系列为例,需要将GPA_MFP8及GPA_MFP9设置为I2C模式 并且将GPA_TYPE8及GPA_TYPE9的Schmitt Trigger设置使能为1
常见问答 / 如何在程序编译时,将数据放在Flash固定的地址?
https://www.nuvoton.com.cn/support/technical-support/faq/d6df5085-04f1-11ea-b113-05daf7eedf03/
如何在程序编译时,将数据放在Flash固定的地址? 1472454517091 在Keil开发环境中 可以使用以下语句: const uint32_t Buf[1] __attribute__((at(0x1000))) = {0x12345678}; 将数据0x12345678写入到地址0x1000。 在IAR开发环境中 首先程序必须先定义常数SIG,常数值0x12345678放在“Flash Address”指定的地址: /* Declaration of signature. Location of it is specified in scatter file. */ const uint32_t SIG @ "Flash_Address"; /* Definition of SIG signature. */ const uint32_t SIG = 0x12345678; 在link file(*.scf)必须定义Flash_Address确定的地址。如下列为例,定义“Flash_Address”的地址为0x1000: place at address mem:0x1000 {section Flash_Address };
粤公网安备 44030502010001号