{{遇到问题.docx(uploading...)}}
看你的图片,是CPU 异常了,但是你使用的是IIC ,这就有点不是太好理解,mlx90640 无奈手上暂时没有mlx90640这个,你试试IIC 驱动EEPROM 可以么
其他设置,读取都好使,说明IIC是可以的,
status = MLX90640_DumpEE(MLX90640_ADDR, eeMLX90640); //读取像素校正参数
// if (status != 0)
printf("\r\nload system parameters error with code:%d\r\n",status);
这一句是读取MLX90640的EEPROMM,数据和我用32读出来的一样
就是下一句,解析参数,一进就卡死,
r0: ffffffff r1: ffffffff r2: ffffffff r3: ffffffff r4: 00002a74
r5: 00000043 r6: 00000000 r7: 200101ac r8: 497d3257 r9: 51365486
r10: 06c8fb4e r11: 4f56218f r12: ffffffff r13: c002200f r14: 1fffe6d4
r15: 20003188
epsr: e4ffc3c1
epc : fffffffe
CPU Exception : 6
r0: ffffffff r1: ffffffff r2: ffffffff r3: ffffffff r4: 00002a74
r5: 00000043 r6: 00000000 r7: 200101ac r8: 497d1257 r9: 51365482
r10: 06485b4e r11: 4e56218f r12: ffffffff r13: c002200f r14: 1fffe6d4
r15: 20003188
epsr: e4ffc3c1
epc : fffffffe
报错类型6,
我把这个函数内部注释,只留个空壳
int MLX90640_ExtractParameters(uint16_t eeData, paramsMLX90640 mlx90640)
{
int error = CheckEEPROMValid(eeData);
if(error == 0)
{
// ExtractVDDParameters(eeData, mlx90640);
// ExtractPTATParameters(eeData, mlx90640);
// ExtractGainParameters(eeData, mlx90640);
// ExtractTgcParameters(eeData, mlx90640);
// ExtractResolutionParameters(eeData, mlx90640);
// ExtractKsTaParameters(eeData, mlx90640);
// ExtractKsToParameters(eeData, mlx90640);
// ExtractAlphaParameters(eeData, mlx90640);
// ExtractOffsetParameters(eeData, mlx90640);
// ExtractKtaPixelParameters(eeData, mlx90640);
// ExtractKvPixelParameters(eeData, mlx90640);
// ExtractCPParameters(eeData, mlx90640);
// ExtractCILCParameters(eeData, mlx90640);
// error = ExtractDeviatingPixels(eeData, mlx90640);
}
return error;
}
下进去,也报错,
Try 2000000 baud download file ...
Wait for the chip to be ready ...
Start the download ...
Download "E:/ST7735/W806 _FUBEN_gai_iic/bin/W806/W806.fls" file success!
CPU Exception : 7
r0: 00000000 r1: 00000000 r2: e000e100 r3: 2000318c r4: 00002a74
r5: 00000043 r6: 00000000 r7: 200101ac r8: 497d1257 r9: 51365482
r10: 06c8fb4e r11: 4e56218f r12: 00000007 r13: c002200f r14: 1fffe6d4
r15: 783c2000
epsr: e0000341
epc : 783c2000
使用W806内部IIC,可以初始成功
返回0,表示设置帧率成功,模式成功
读取校正参数后,需要校正参数,一调用,就跑死
注释掉函数内部,留着空函数
调用
跑死,跑死代码由6变为7
复制了副本,W806 _FUBEN_gai_iic,对W806的IIC和开源代码的软件IIC做了匹配,然后初始化也不成功了,改回去
可以初始化了