完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
M483KIDAE,没有TRNG功能
|
|
|
|
M480 的 TRNG(True Random Number Generator)功能可以使用外部晶振作为时钟源。下面是使用外部晶振作为时钟源的步骤:
1. 首先,你需要在 PCB 上添加一个外部的时钟源(例如 32K 晶振)并将其连接到 M480 的外部时钟输入引脚(X32IN)。 2. 在使用 TRNG 功能之前,你需要先初始化时钟系统,设置时钟源为外部晶振。具体的初始化代码如下: ```c #include "NuMicro.h" void SYS_Init(void) { /* 开启晶振输入引脚的外部时钟源 */ CLK_EnableXtalRC(CLK_PWRCTL_HIRC_EN_Msk | CLK_PWRCTL_HXT_EN_Msk | CLK_PWRCTL_LXT_EN_Msk); CLK_WaitClockReady(CLK_STATUS_HIRCSTB_Msk | CLK_STATUS_HXTSTB_Msk | CLK_STATUS_LXTSTB_Msk); /* 将系统时钟切换为外部低频晶振 */ CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HXT, CLK_CLKDIV0_HCLK(1)); CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLKSEL_HXT); /* 关闭其他不需要的时钟源 */ CLK_DisableCKO(); CLK_DisableSysTick(); } ``` 3. 在你的应用程序中,你可以使用 `TRNG_Open()` 函数来初始化 TRNG 模块,具体的代码如下: ```c #include "NuMicro.h" int main(void) { /* 系统初始化 */ SYS_Init(); /* 打开 TRNG 模块,使用外部晶振作为时钟源 */ TRNG_Open(TRNG_MODULE, TRNG_CLKSRC_HXT); while(1) { /* 等待 TRNG 数据就绪 */ while(!TRNG_GET_IF(TRNG_MODULE)); /* 读取 TRNG 数据 */ uint32_t randomData = TRNG_Read(TRNG_MODULE); /* TODO: 处理 TRNG 数据 */ } } ``` 在使用 TRNG 功能之前,请确保已正确初始化时钟系统,并且 M480 芯片上的晶振电路已正确连接。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
202 浏览 0 评论
556 浏览 2 评论
ESP32开发中,使用ADF环境,系统报错I2C Bus WriteReg Error和I2C Bus ReadReg Error
495 浏览 1 评论
在ZYNQ上跑超炫酷GUI!手把手教你移植LVGL到ZYNQ平台!
709 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之FLEXCAN
888 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12459 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-6 18:36 , Processed in 0.842154 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191