摘要:
串口编程 串口在Linux中也是一个设备文件(一切皆文件),这一部分从裸机开发转变过来还需要一定时间适应,不过可以去看看野火的Linux教程,中关于使用shell操作串口的示例有一个宏观的的体验和认知。回到通过程序使用串口收发数据,其也就如同读写一个普通文件一般,一般步骤是 1、打开串口设备(字符设 阅读全文
摘要:
用了好久的FreeRTOS以前只是知道,如果在中断服务程序中调用某一些FreeRTOS的API函数时需要注意,如果有ISR版本的一定要调用末尾带ISR的函数,并且中断服务程序要调用freeRTOS的API接口则中断优先级不能高于配置宏(configMAX_SYSCALL_INTERRUPT_PRIO 阅读全文
摘要:
一开始学习51单片机就是用的MDK这个IDE软件,IDE软件虽然看起来直观好像更加容易入门(因为有界面看起来很形象),但是实际上IDE却是向我们这些入门人员隐藏了背后真实存在的过程,让我们以为编译就是点一下一个按键就完成了。直到使用了大半年的STM32芯片,我觉得不能一直依赖IDE软件,所以打算试试 阅读全文
摘要:
这这里是接上一篇内存池管理部分的,这里如果读者一打开memp.c的话会感觉特别那一理解原作者在干嘛,但是看懂了就明白原作者是怎么巧妙的使用了宏。废话不多说先说了下我分析是一下宏的条件是 前提条件MEMP_STATS = 0MEMP_OVERFLOW_CHECK = 0 首先要去简单的看下#inclu 阅读全文
摘要:
LWIP的内存管理主要三种:内存池Pool,内存堆,和C库方式。三种方式中C库因为是直接从系统堆中分配内存空间且易产生碎片因此,基本不会使用,其他两种是LWIP默认全部采用的方式,也是综合效率和空间的一种实现方法,接下来将根据源码看看具体的内存管理方案的实现,其中内存池用的一些技巧,曾经让我一头雾水 阅读全文
摘要:
前面学习了那么多的概念,这里需要记住一点分层概念即设备 > 配置 > 接口 > 端点,这种分层的概念结构 。 也可以理解为端点构成接口,接口组成配置,配置组成设备。 USB设备的枚举过程 前面说过了,USB只是一种串行通信总线。也就是说USB是一种物理通信通道。但是实际中我们使用了各种各样的USB设 阅读全文
摘要:
USB包类型和传输过程 USB是一种串行总线,因此数据都是一位一位传输的,如同串口那样,但是USB在真实物理电路上却不是TTL电平,而是一种差分信号采用NRZI编码,就是用变化表示0,不变表示1,同时在USB中数据时低字节先发送的即LSB。USB中的数据交互最小单位是包一个包由许多域组成,但是统一的 阅读全文
摘要:
USB设备描述符 字段名 长 度(字节) 地址偏移 含 义 bLenth 1 0 描述符长度 bDescriptorType 1 1 描述符类型 (这里为 1) bcdUSB 2 2 USB规范版本号(BCD码) bDeviceClass 1 4 类代码 bDeviceSubClass 1 5 子类 阅读全文
摘要:
概念 USB是一种串行通信总线(Universal Serial Bus),经历的版本有USB1.0,USB1.1、USB2.0等。USB是一种主从模式的结构,因此它无法在设备与设备。主机与主机之间互连进行数据交换。直到USB OTG的出现,它通过在不同场合下将身份切换,从而做到主从分时共存一个设备 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文