- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 Rapid IO 请求响应顺序
Rapid IO 请求响应顺序Master operation issued ——产生请求包——Fabric 产生应答符并向Target产生包转发请求——Target 产生应答符 完成operation并产生对Fabric的响应 包 事件——Fabric 产生应答符并产生 包 转发请求——Master 产生应答符响应Fabric 并完成operation。...
2019-11-15 11:42:28 232 1
原创 线路/信道编码技术——8B/10B编码
注:8B/10B编码的最终结果就是实现disparity=0,-2,+2三种情况,并不是所谓简单的补0补1两个不错的博客链接帮助理解:https://blog.csdn.net/hit_wzj/article/details/50403243https://www.jianshu.com/p/f58873cafe0d...
2019-11-15 11:11:20 864
原创 以太网常用接口
1.PHY层的主要作用就是将MAC层数据(MII接口数据)通过串并转换器,重新排序,并根据响应的调制方式,将信号重新编码,再通过MDI接口(介质相关接口)将数据通过对应线路传送出去。具体过程见下图:PCS(物理编码)子层:位于协调自曾(通过GMII)和物理介质接入层子层之间。PCS完成将经过完善定义的以太网MAC功能映射到现存的编码和物理层信号系统的功能上去。PCS子层和上层RS/MAC的接口...
2019-11-14 11:37:01 3989
转载 Insertion Loss & Return Loss
本文链接:https://blog.csdn.net/XianruDu/article/details/17176511Insertion Loss 和 Return Loss 用来描述高速信号经过一个连接器(connector, component, device, or transmission line…)时的behavior,具体地说就是signal power的loss,都与工作频率有...
2019-10-09 18:51:19 2466
原创 静态变量,局部变量,strlen,sizeof
float小数点后位数局部变量存在栈中静态变量存在静态存储区静态局部变量:存储在静态存储区,占据着永久性的存储单元。直到程序运行结束才会释放存储单元。由于并不释放存储单元,所以下次再进入该函数时,可以继续使用该存储单元的值。栈是由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆是一般由程序员分配释放, 若程序员不释放,没有被操作系统回收的话...
2019-06-28 17:05:47 177
原创 嵌入式编程
1、interrupt double compute_area(double radis){double area=PIradiusradius;printf("\nArea=%f",area);return area;}(1)ISR不能返回一个值。(2)ISR不能传递参数。(3)在许多处理器中浮点是不可重入的。(4)printf()经常有重入和性能上的问题,所以一般不使用pr...
2019-03-11 17:32:20 230
原创 指针数组、数组指针
int a[10]; 一个有10个整型数的数组int *a[10]; 一个有10个指针的数组,该指针是指向一个整型数的。int (*a)[10]; 一个指向10个整型数数组的指针。int (*a)(int) ; 一个指向函数的指针,该函数有一个整型参数并返回一个整型数int(*a[10])(int); 一个有10个指针的数组,该指针指向一个函数,该函数...
2019-03-11 16:40:26 131
原创 动态内存传递(2)
..............................void GetMemory(char *p,int num) { p=(char *)malloc(sizeof(char) *num); }; int main() { char *str=NULL; GetMemory(str,100); strcpy...
2019-03-11 16:03:03 166
原创 指针、动态内存传递
1.指针:允许直接获取和操纵数据地址,实现动态存储分配。int *pi;*pi=5;上述代码是错误的,整数指针pi并没有指向实际的地址,赋的值不知道该放到哪里去。2. 下面哪个能够成功实现两个数的交换。1)void swap1(int a, int b) { int temp; temp=a; a=b; b=temp; } 2)void swap2(int *a...
2019-03-11 11:48:24 171
原创 预处理、const、sizeof
1.const与#define的区别:1)都可以定义常量,但前者比后者有优点:const常量有数据类型,而宏常量没有数据类型,编译器可以对前者进行类型安全检查,而#define只是替换,并且在字符替换过程中可能会产生意想不到的错误(边际效应)。2)有些集成化的调试工具可以对const常量进行调试,但不能对宏常量进行调试。3)const完全可以取代宏常量。2.char * s1=“01234...
2019-03-11 10:42:40 207
原创 c语言--提高篇(习惯、风格)
1、 写法1:if('A'==a) { a++; }写法2; if(a=='A') { a++;}写法1比较好,若将“==”误写成“=”,编译器不允许对常数赋值就可检查到错误。2、写法1:for(i=0;i<9;i++){ X=i+Y+J*7; }写法2:S=Y+J*7;for(i=0;i<9;i++){ X=i+S;}写法2比较好,将部分加法放到了循环体外,...
2019-03-10 20:35:45 381
转载 uc-osII系统移植
任务调度ucosii 为保证实时性,给每个任务分配一个不同的优先级。当发生任务切换时,总是切换到就绪的最高优先级任务。有 2 种情况会发生任务切换。1.任务等待资源就绪或自我延时;2.退出中断;情况 1 可以理解为任务主动放弃 cpu 的使用权。情况 2 可以理解为中断后,某种资源可能就绪了,需要任务切换。需要注意的是 SysTick 中断,这个中断是 os 的“心跳”,必须得有。这...
2019-02-27 21:11:19 321
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人