简单的曼彻斯特编码的C语言实现

上传人:cl****1 文档编号:564576602 上传时间:2023-02-03 格式:DOCX 页数:3 大小:8.05KB
返回 下载 相关 举报
简单的曼彻斯特编码的C语言实现_第1页
第1页 / 共3页
简单的曼彻斯特编码的C语言实现_第2页
第2页 / 共3页
简单的曼彻斯特编码的C语言实现_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《简单的曼彻斯特编码的C语言实现》由会员分享,可在线阅读,更多相关《简单的曼彻斯特编码的C语言实现(3页珍藏版)》请在金锄头文库上搜索。

1、简单的曼彻斯特编码的 C 语言实现曼彻斯特编码是减小信号交流分量,实现固定信号占空比的基本方法。用 C 语言实现如下:#include #define uint8_t unsigned char#define uint16_t int#define BOOL int#define TRUE 1#define FALSE 0BOOLapp_ManchesterEncode(uint8_t*indata,uint8_t*outdata,uint16_tinlength);BOOLapp_ManchesterDecode(uint8_t*indata,uint8_t*outdata,uint16_t

2、inlength);uint8_t indata10=0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,0x43,0xb8; uint8_t middata20;uint8_t outdata10;uint16_t inlength;int main()int length=10;int i=0;app_ManchesterEncode(indata,middata,length); if(app_ManchesterDecode(middata,outdata,length*2)=FALSE) printf(decode failed!n);printf(in:

3、);for(i=0;ilength;i+)printf( %2.2x,indatai);printf(n);printf(mid:);for(i=0;ilength*2;i+)printf( %2.2x,middatai);printf(n);printf(out:); for(i=0;ilength;i+) printf( %2.2x,outdatai);printf(n);BOOL app_ManchesterEncode(uint8_t *indata,uint8_t *outdata,uint16_t inlength) uint16_t i=0;uint8_t j=0;for(i=0

4、;iinlength;i+)outdata2*i=0; outdata2*i+1=0;for(j=0;j8;j+)if(jj)&0x01)?2:1)j)&0x01)?2:1)(j*2-8);return TRUE;BOOL app_ManchesterDecode(uint8_t *indata,uint8_t *outdata,uint16_t inlength) uint16_t i=0;uint8_t j=0; for(i=0;iinlength/2;i+)outdatai=0; for(j=0;j8;j+)if(j(j*2)&0x03)=0x01);else if(indata2*i+1(j*2)&0x03)=0x02) outdatai|=0x01(j*2-8)&0x03)=0x01)else if(indata2*i(j*2-8)&0x03)=0x02) outdatai|=0x01j;elseprintf(at i=%d j=%dn,i,j);return FALSE;return TRUE;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号