/* -------------------------------------------
* DateCode: 2018年1月23日10:11:17
* Athor: xiyuan255
* Version: V1.0
* Purpose: Println function
--------------------------------------------- */
int8_t arrayElemPrintln(const void *pString,
const void *pArray,
uint8_t length,
uint8_t ofBytes) // 1 or 2 and 4
{
assert(pString != NULL && pArray != NULL);
if(((ofBytes < 1)||(ofBytes > 4))
||(ofBytes > 1 && ofBytes % 2 != 0))
return -1;
const uint8_t *pData = (uint8_t *)pArray;
printf("[%s] <", (const char *)pString);
pString = pArray;
while (length--) {
switch (ofBytes) {
case 1: printf(" %02X",*pData);
break;
case 2: printf(" %04X",*((const uint16_t *)pData));
break;
case 4: printf(" %08X",*((const uint32_t *)pData));
break;
}
pData += ofBytes;
}
printf(" >length:%d;\r\n",(pData-(uint8_t *)pString)/ofBytes);
return 0;
}
/* 这是个Lora项目在使用STM32为主控芯片下的快速排序的模板函数,
* 其中: int16_t为signed short(2bytes)
uint32_t为unsigned int(4bytes)
uint8_t为unsigned char(1bytes)
修改对应的类型,可直接使用VS 2010直接编译 */