前面在做MT2523 UI显示的时候需要用到二维码,于是上网查了很多资料。
移植了二维码生成的C语言库到自己的项目。然后调用接口生成二维码数据。
最后显示到自己的LCD上面。
如果不知道库的可以查看博客:https://blog.youkuaiyun.com/qq_21475601/article/details/71480028#commentsedit
里面介绍了如何使用代码库文件,需要自己移植。文章写的很好。
本文假设读者已经移植完成,只需要显示。
我自己的在显示的时候一开始显示很小。原因是屏幕像素比较密,像素点很小,需要自己实现放大显示。
思路:放大2倍,4个点的正方形,3倍9个点,4倍16个点,以此类推。。。
每个单片机显示接口函数不一样,下面是我的demo代码
void QRcode_screen_show(void)
{
//我的屏幕是320*320,start_x,start_y代表开始的坐标,block_width代表每个二维码点的宽度(pixel)
uint32_t start_x = 10,start_y = 10,block_width = 12;
uint8_t i = 0,j = 0,k = 0;
bool retState = false;
//QRcode *code;
//测试的字符串
char *p = "www.baidu.com";
//更新屏幕前先把LCD显示全黑背景,起始(0,0)->(319,319),填充0x00代表黑色
gdi_draw_filled_rectangle(0,0,319,319,0x00);
//调用生成二维码的核心接口,返回成功判断
retState = Enc