网站搭建徐州百度网络,做网站怎么配电脑,江门网站快速排名,免备案做网站可以盈利吗一、随机数生成
1、加入头文件#xff1a;#include stdlib.h
2、定义一个用作生成随机数种子的变量并加入到滴答定时器中不断自增#xff1a;uint32_t run_times 0;
3、设置种子#xff1a;srand(run_times);//每次生成随机数前调用一次为佳
4、生成一个随…一、随机数生成
1、加入头文件#include stdlib.h
2、定义一个用作生成随机数种子的变量并加入到滴答定时器中不断自增uint32_t run_times 0;
3、设置种子srand(run_times);//每次生成随机数前调用一次为佳
4、生成一个随机数uint16_t date rand()%(b-a1)a;//生成a~b区间的随机数
注如果要在同一时间频繁生成随机数最好错开1ms的时间
二、波形显示采用正点原子4.3寸屏480*800
1、设置储存波形数据的数组指针我这里采用动态分配内存uint16_t *wave_date 0;
2、给储存波形数据的数组指针分配内存wave_date (uint16_t *)mymalloc(SRAMEX, 720*sizeof(uint16_t));//屏幕宽800px但只有前720px用来显示波形
3、给波形数组赋值
for(x0;x720;x)
{srand(run_times);wave_date[x] 40 rand()%(400-00)0; //产生 0~400之间随机数前面40是为了让波形整体下移HAL_Delay(1);
}
4、波形显示 while(1){/*显示网格线*/for(x0;x760;x40)//竖线{lcd_draw_line(x,40,x,440,GRAY);} for(y40;y480;y40)//横线{lcd_draw_line(0,y,720,y,GRAY);} for(x0;x720;x)//竖线{if(x0){lcd_draw_point(0,wave_date[0],RED);}else{lcd_draw_line(x-1, wave_date[x-1], x, wave_date[x], RED);}}for(x0;x(720-1);x) wave_date[x] wave_date[x1];//保留前719个点的值srand(run_times);wave_date[719] 40 rand()%(400-00)0; //随机生成第720个点的值HAL_Delay(100);lcd_fill(0,40,720,440,g_back_color); //清空波形显示区域}
效果如下图 问题频繁刷新导致看起来一直在闪