HW_Lib/demo/iic/test.c

61 lines
1.3 KiB
C
Raw Normal View History

2024-05-09 06:38:55 +00:00
#include <stdio.h>
#include "iic.h"
#include "log.h"
#include "tool.h"
2024-06-22 03:08:31 +00:00
#include "t_iic.h"
2024-05-09 06:38:55 +00:00
uint8_t CLK_Pin(uint8_t l) {
// LOGT("CLK", "P:%d", l);
return l;
}
uint8_t SDA_Set(uint8_t l) {
// LOGT("SDA", "P:%d", l);
return l;
}
uint8_t SDA_Mode(uint8_t l) {
if (l) {
// LOGT("SDA", "M:IN");
} else {
// LOGT("SDA", "M:OUT");
}
return l;
}
uint8_t SDA_Read() {
uint8_t l = rand() % 2;
// LOGT("SDA", "P:%d", l);
return l;
}
2024-09-21 15:07:22 +00:00
int Test_iic(void *pVoid) {
2024-05-10 05:47:39 +00:00
SW_Dev_IIC dev = {
2024-05-09 06:38:55 +00:00
.CLK_SET = CLK_Pin,
.SDA_SET = SDA_Set,
.SDA = SDA_Read,
.SDA_MODE = SDA_Mode,
.ADD = 0x34
};
uint8_t internalAddress = 0x56;
2024-05-10 05:47:39 +00:00
uint32_t len = 64;
2024-05-09 06:38:55 +00:00
uint8_t writeData[len];
uint8_t readData[len];
2024-05-20 13:53:19 +00:00
range(i, len)
{
2024-05-10 05:47:39 +00:00
writeData[i] = rand() % 200;
2024-05-20 13:57:52 +00:00
}
2024-05-20 14:00:06 +00:00
PRINT_ARRAY(writeData, "%3d", 16);
2024-05-20 13:57:52 +00:00
2024-06-22 03:08:31 +00:00
// foreach(i in writeData) {
// writeData[i] = rand() % 200;
// }
2024-05-20 13:53:19 +00:00
PRINT_ARRAY(writeData, "%3d", 16);
Buf_Print("<IIC> TX", writeData, len, 16);
2024-05-20 14:00:06 +00:00
BufPrint("<IIC> TX", writeData, TYPE_T(writeData), len, 16);
2024-05-20 13:57:52 +00:00
SW_IIC_WL(dev, internalAddress, writeData, len);
2024-05-10 05:47:39 +00:00
SW_IIC_RL(dev, internalAddress, readData, len, 1);
2024-05-20 13:53:19 +00:00
BufPrint("<IIC> RX", readData, TYPE_T(readData), len, 16);
2024-09-21 08:07:31 +00:00
}