请教:几块AVR单片机与电脑的通信问题,那么在电脑里怎样区分每块单片机的数据?
假如用几块单片机采集数据,然后通过串口将数据送与电脑处理,那么在电脑里怎样区分每块单片机的数据?请多多指教!!! 用特徵碼! 做通讯协议,最好,通讯方面可以用无线的 用rs485可能最简单了 to avrboy 單片王:特徵碼?不太懂,能具体一点吗?好象有一种方法是在程序里给每块单片机起一个名字,这是否是特征码?怎样是现?请多多指教!谢谢!!! RS232是点对点的通讯协议,只能一对一.可以用RS485:支持单对多.或者是在电脑上加串口卡,扩展多几个串口. 就是做通讯协议的意思. 这就看你的具体要求了。
如果距离较远,各设备使用串联方式连接,则应该使用RS485或CAN总线,485相对简单一些,但是做协议也是比较麻烦的,除非你的应用特简单,否则没经验不大好弄。不过相对价格便宜,扩展性好,连接距离远。
如果距离比较近,可用点对点方式连接,设备也不太多,价格不敏感,则使用串口扩展卡也是一个较好的方案;如果USB口较多,也可以用USB to 232桥。这种做法的好处是两边编程都比较简单,缺点也是明显的:扩展性差,成本高。 谢谢各位,我已决定用RS485了,不过第一次搞通讯协议,只能摸着石头过河。 我做过简单的RS485"协议":主机发送从机地址,从机收到后就发送数据回来.我就是这样区分的,用的芯片是MAX1482.总之,算是能用了吧! 当与PC机通信时,是要作通讯协议,一般的通信格式(数据包):通信头,命令字,地址字节,信息字节,..... 给没个单片机定义ID码 瞎猜半天。
当然是用 地址去区分了------没有地址又怎能接收数据?
485/232多机通讯都是需要为每个从机分配一个唯一的从机地址,才能正常通讯。
页:
[1]