#每日话题# #申请原创# APM32F411这个单片机可以生成随机数,而且demo里自带,我这里就移植显示在OLED上,先在头文件中引入
- #include "apm32f4xx_rcm.h"
- #include "apm32f4xx_rng.h"
接下来,再引用初始化函数
- void RNG_Init(void)
- {
- RCM_EnableAHB2PeriphClock(RCM_AHB2_PERIPH_RNG);
- RNG_Enable();
- }
再在主函数中调用
- int main(void)
- {
- uint32_t uRandomNumber = 0;
- APM_DelayInit();
- APM_TINY_LEDInit(LED2);
- APM_TINY_COMInit(COM1,&usartConfigStruct);
- /* RNG initialization */
- RNG_Init();
- /* Init delay function */
- I2C_GPIOInit();
- OLED_Init();
- while (1)
- {
- OLED_ShowChinese(18,0,0,16,1);//
- OLED_ShowChinese(38,0,1,16,1);//
- OLED_ShowChinese(54,0,2,16,1);//
- OLED_ShowChinese(72,0,3,16,1);//
- OLED_ShowChinese(88,0,4,16,1);//
-
- // OLED_ShowString(8,16,(u8 *)"ZHONGJINGYUAN",16,1);
- uRandomNumber =RNG_ReadRandomNumber();
- snprintf(disbuf,sizeof(disbuf)," %08d",uRandomNumber);
- OLED_ShowString(8,32,(u8 *)disbuf,16,1);
- OLED_Refresh();
-
- Delay_ms(500);
-
- APM_TINY_LEDToggle(LED2);
- }
- }
最后显示效果如下图:
最后说说,这个开发板居然不能连接上Geehy Prog,而且也没有工作人员来解答,还有这个板载的DAPLINK上面的指示绿始终都是绿色的,在下载时也不会变灯,有可能这个是简化的daplink,还有就是sdk里的例程包都默认是apm32f407的,感觉软件支持工作做的并不理想。
|