在有些Oled例程中,有uint32_t OLED_Pow(uint8_t m,uint8_t n)此函数。
此函数用于分离数据,配合循环可以将一个数拆成一个个数。例:
9876--->9 8 7 6
#include "stdio.h"
#include "stdint.h"
#include "windows.h"
uint32_t OLED_Pow(uint8_t m,uint8_t n)
{
uint32_t result=1;
while(n--)
{
result*=m;
}
return result;
}
int main(void)
{
uint32_t a;
uint16_t b=9876;
uint8_t len=4;
for (uint8_t i = 0; i < len; i++)
{
a=(b/OLED_Pow(10,len-i-1))%10;
printf("%d\r\n",a);
}
system("pause");
return 0;
}
输出内容如下:
PS E:\------\REF\image_test> .\oled_pow_test.exe
9
8
7
6
请按任意键继续. . .