C
嵌入式小娄
越努力、越幸运、成长往往从失去开始。
展开
-
字节对其,内存中位置分析
去掉字节对齐:__ALIGN_BEGIN g_usbd_property_descritpor 内存地址:0x20000112 非4的倍数。在进行USB 通讯,设备信息交互通讯 是按4字节进行对齐补齐,如果不进行对齐补齐,默认去对齐补齐位置获取数据 导致通讯获取描述符失败。#define USB_LEN_OS_PROPERTY_DESC 0x28 //特征描述符。通过以上分析 字节对比补齐是 在内存中自动按地址对齐补齐。原创 2023-08-15 18:10:21 · 168 阅读 · 0 评论 -
行业交流群,大佬解析,保留下
由于在type之后加上##连接符,所以在代码中使用实际的type名称时,它会根据具体的type生成相应的函数名。定义了一个名为type的结构体名称,这个结构体的类型是struct type。这里使用了typedef关键字,将struct type重命名为type,以便在代码中可以使用type来代表这个结构体类型。通过使用宏定义和typedef,可以在代码中使用INTERFACE代表类型,并根据具体的类型生成对应的函数名。这样可以在代码中定义各种具体的type,并使用相应的函数进行操作。原创 2023-06-26 15:45:46 · 147 阅读 · 0 评论