新手上路
- 积分
- 44
- 金钱
- 44
- 注册时间
- 2018-12-27
- 在线时间
- 20 小时
|
1金钱
因为需要运用到freertos,又需要用到二维码识别,于是一直了原子哥的二维码识别库,同时,也修改了内存申请释放的相关函数。
//内存申请函数
void *atk_qr_malloc(uint32_t size)
{
// return mymalloc(SRAMIN,size);
return pvPortMalloc(size);
}
//内存重申请函数
void *atk_qr_realloc(void *ptr,uint32_t size)
{
// return myrealloc(SRAMIN,ptr,size);
return pvPortRealloc(ptr,size);
}
//内存释放函数
void atk_qr_free(void *ptr)
{
// myfree(SRAMIN,ptr);
vPortFree(ptr);
}
注释的原有的原子哥写的内存管理函数。
之后调用函数 res = atk_qr_decode(240,176,qr_gray,0,qr_result); 进行识别,res返回3,查看文档
//返回值定义
#define ATK_QR_OK 0 //正常
#define ATK_QR_MEM_ERR 1 //内存错误
#define ATK_QR_OTHER_ERR 2 //其他错误
#define ATK_QR_RECO_ERR 3 //无法识别
所以无法识别是什么原因呢?图像已经转了灰度。
另外,我裸机跑程序,用原子的内存管理函数是可以的,唯一改的,就是内存管理相关函数,改成了系统的,按道理不应该不行,脑壳痛。有没有大佬请教下
|
|