1. AD模块
原理图中:


参考程序:
Nu_LB_NUC140_BSP\SampleCode\Nu-LB-NUC140\ADC_VR1
2 LED 模块

3 RGB LED 模块

4 USB Device 模块


5 USB 时钟





6 通信格式
#define HID_CMD_SIGNATURE 0x43444948
/* HID Transfer Commands */
#define HID_CMD_NONE 0x00
#define HID_CMD_ERASE 0x71
#define HID_CMD_READ 0xD2
#define HID_CMD_WRITE 0xC3
#define HID_CMD_TEST 0xB4
#define HID_CMD_LED_ON 0xAA
#define HID_CMD_LED_OFF 0x55
#define PAGE_SIZE 256
typedef __packed struct
{
uint8_t u8Cmd;
uint8_t u8Size;
uint32_t u32Arg1;
uint32_t u32Arg2;
uint32_t u32Signature;
uint32_t u32Checksum;
} CMD_T;
CMD_T gCmd;
图片

7 MFC 测试工程
基于
Nu_LB_NUC140_BSP\SampleCode\Nu-LB-NUC140\USBD_HID_Transfer\WindowsTool\HIDTransferTest\
Nu_LB_NUC140_BSP\SampleCode\Nu-LB-NUC140\USBD_HID_Transfer\USB_HID_Tool\USB_HID_Tool
8 遇到问题
AD转换的速度比较慢,USB读取的速度比较快
那么就等USB IN 中断的时候 触发AD转换,AD转换成功之后,准备好AD数据
HID 协议 会自动的读 准备好的数据,即使上层软件 没有读数据。
本文探讨了AD模块与USB设备模块在嵌入式系统中的应用。重点分析了AD转换速度慢的问题,并提出通过USB中断触发AD转换,利用HID协议自动读取准备好的AD数据的解决方案。文中还详细介绍了USB时钟、通信格式及MFC测试工程。
1085

被折叠的 条评论
为什么被折叠?



