📄 data_formatchange.c
字号:
#include "memory.h"
/*左移函数,左移一个帧,最后位补零*/
unsigned char *shiftleftframe(unsigned char *pin, int lengthp, int shiftcount)
{
// assert(pin != NULL);
unsigned char midvar;
int i;
for(i = 0; i < lengthp - 1; i++)
{
*(pin + i) <<= shiftcount;
midvar = *(pin + i + 1);
midvar >>= (8 - shiftcount);
*(pin + i) |= midvar;
}
*(pin + lengthp - 1) <<= shiftcount;
return (pin);
}
unsigned short format_change(unsigned char *pinStream, short int *poutStream)
{
short int rate;
unsigned char rate_get;
int i;
rate_get = *pinStream;
switch(rate_get)
{
case 1 :
{
rate = 0x0004;
shiftleftframe(pinStream, 22, 1);
for(i = 0; i < 11; i++)
{
*(poutStream + i) = (short int)((*(pinStream + 1 + 2 * i) << 8) |*(pinStream + 2*i + 2));
}
break;
}
case 2 : {
rate = 0x0003;
for(i = 0; i < 5; i ++ )
{
*(poutStream + i) = (short int)((*(pinStream + 1 + 2 * i) << 8) |*(pinStream + 2*i + 2));
}
memset(poutStream + 6, 0, 12);
break;
}
case 3 : {
rate = 0x0001;
*(poutStream) = (short int)((*(pinStream + 1) << 8) | *(pinStream + 2));
memset(poutStream + 2, 0, 21);
break;
}
}
return rate;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -