#每日话题# #申请原创# 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的,感觉软件支持工作做的并不理想。
|