第一次接触串口编程,有一个疑问。就是串口会不会像对网卡编程一样,对数据有个缓冲,比如果在SOCKET编程时,
客户端SEND了100个字节,过了10秒后服务端才调用RECV进行接收,此时是可以接收到这100个字节的,因为有个缓冲区存放数据。
那么串口呢,过了10秒后还能收到东西吗?如果不能,不就要时时刻刻的对串口进行轮询了吗?这样CPU会不会过占用会不会太高,如果在轮询时加上SLEEP,那万一在SLEEP时有数据到了,不就收不到了吗?大家是怎么处理的?
客户端SEND了100个字节,过了10秒后服务端才调用RECV进行接收,此时是可以接收到这100个字节的,因为有个缓冲区存放数据。
那么串口呢,过了10秒后还能收到东西吗?如果不能,不就要时时刻刻的对串口进行轮询了吗?这样CPU会不会过占用会不会太高,如果在轮询时加上SLEEP,那万一在SLEEP时有数据到了,不就收不到了吗?大家是怎么处理的?
事件线程:
while(){
WaitCommEvent();
}
比如当它的值为2时,代表有数据,可以去取了,这样耗资源少多了
你把这个类的代码看一下,就什么都懂了