如何用单片机串口读取pc机实时时间,求大佬指导

如何用单片机串口读取pc机实时时间,求大佬指导,如题,由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现,需要在串口UI上…

如何用单片机串口读取pc机实时时间,求大佬指导,如题,由于本论坛禁止直接求程序,禁止伸手党,所以向大家请教一下大致的实现方法与思路,理清头绪后我自己来写程序去实现
,需要在串口UI上设置时间调用函数并通过串口传输给单片机,GUI设计用VB或者VC或者C++都有例程,百度直接添加调用函数就可以。,用QT吧,网上很多串口例程,自己再添加个获取电脑时钟的函数就可以了。,使用qt creator 通过COM口(串口)每秒下发一次时间,可以自定义格式帧,我举个例子,现在是2021-01-12  19:10:57,
2021可以用两个字节,01一个字节,12,一个字节,19一个字节,10一个字节,57一个字节。所以有效数据一共7个字节。这七个字节以小端模式排列分别是:(2021&0xff),(2021>>8),0x01,0x0C,0x13,0X0A,0X39,为了单片机能够识别,所以需要加入帧头,为了实现功能帧尾也可以不加,不过最好加上。现在定义帧头为,0xf0,0x5a,0x0f,帧尾为0x55,帧尾可以用其他校验方式,例如CRC8。 现在一帧数据就是 0xf0 0x5a 0x0f (2021&0xff) (2021>>8) 0X01 0X0C 0X13 0X0A 0X39 0x55 ,一共11个字节,帧头三个字节是固定的,帧尾一个字节是固定的,中间7个字节是随时间变化。,单片机是单片机,PC是PC单片机不能直接读取PC的实时时间,能做的就是单片机发送获取实时时间的命令,然后通过PC端的软件把获取到的系统时间发送到单片机。,上位机VB代码:
dim Time_string’定义一个字符串变量
Time_string=format(now,”HH:MM:SS”)  ‘获取PC时间并转为字符串,如:12:23:52
Mscomm1.Output=Time_string ‘通过串口1发送字符串,串口要先配置好
下位机就是要解析这个字符串就有时间了。

作者: soufei

为您推荐


Fatal error: Can't use function return value in write context in /www/wwwroot/www.qianrushi.com.cn/wp-content/themes/news/footer.php on line 115