case CDC_GET_LINE_CODING:pbuf[0] = (uint8_t)(USBD_CDC_LineCoding.bitrate);pbuf[1] = (...
在ST给出的CDC例程中,主要是使用到了SetLineCoding指令来设置和修改虚拟串口的波特率,使用GetLineCoding来获取当前波特率,使用SetControlLineState来打开或关闭串口,这种操作是在Host端CDC驱动来具体映射实现的 前言:在PSTN中,除了ACM模式,还有TCM,DLM模式。这三种模式,不同的模式下包含的控制指令集是不尽相同的,有部分...
起始位、停止位、流控等信息 GET_LINE_CODING(0x21) 获取串口波特率、起始位、停止位、流控等信息 SET_CONTROL_LINE_STATE(0x22)用于设置串口的状态 厂商请求一般不会用于标准设备,CDC 类就没有用到(如果需要的话,应该也是能发出的)。
linecoding.format = pbuf[4]; linecoding.paritytype = pbuf[5]; linecoding.datatype = pbuf[6]; /* Add your code here */ break; case CDC_GET_LINE_CODING: pbuf[0] = (uint8_t)(linecoding.bitrate); pbuf[1] = (uint8_t)(linecoding.bitrate >> 8); pbuf[2] = (uint8_t)(lineco...
设置串口波特率、起始位、停止位、流控等信息 GET_LINE_CODING(0x21) 获取串口波特率、起始位、停止位、流控等信息 SET_CONTROL_LINE_STATE(0x22)用于设置串口的状态厂商请求一般不会用于标准设备,CDC 类就没有用到(如果需要的话,应该也是能发出的)。
linecoding.paritytype = pbuf[5]; linecoding.datatype = pbuf[6]; /* Add your code here */ break; case CDC_GET_LINE_CODING: pbuf[0] = (uint8_t)(linecoding.bitrate); pbuf[1] = (uint8_t)(linecoding.bitrate >> 8); pbuf[2] = (uint8_t)(linecoding.bitrate >> 16); ...
除了标准请求,还有类请求,比如 CDC 类,用到了三种类请求:SET_LINE_CODING(0x20) 设置串口波特率、起始位、停止位、流控等信息GET_LINE_CODING(0x21) 获取串口波特率、起始位、停止位、流控等信息SET_CONTROL_LINE_STATE(0x22)用于设置串口的状态厂商请求一般不会用于标准设备,CDC 类就没有用到(如果需要的话,应...
D1 为1 时表示支持 SET_LINE_CODING、SET_CONTROL_LINE_STATE、GET_LINE_CODING请求和SERIAL_STATE通知。 D2 为 1时表示支持SEND_BREAK。 D3 为1 时表示支持NETWORK_CONNECTION通知。 这些请求是 class-spicific请求。 2.7 Union Functional Descriptor ...
_Line_Coding、Set_Control_Line_State、Get_Line_Coding请求和Serial_State通知,为1表示支持 //2为表示是否支持Send_Break,为1表示支持 //D3表示是否支持Network_Connection通知,为1表示支持 //Union FunctionalDescriptor,至少5字节,他描述一组接口之间的可以被当作为一个功能单元来看待,这些接口一个作为主,...
4.2.2GET_ENCAPSULATED_RESPONSE请求 4.2.3GET_LINE_CODING请求 4.2.4SET_LINE_CODING请求. 4.2.5SET_CONTROL_LINE_STATE请求 4.3数据传输的实现. 4.3.1令牌包 4.3.2数据包 4.3.3握手包 4.3.4数据传输 4.4INF文件的创建 4.4.2INF文件的规范. 4.4.3INF文件的内容. ...