最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
mangui zhang:
你的意思是自发自收都不正常 收到数据了 是不对的吗
这样你最好先确认一下波特率 MCU里面设的和你上位机设的都一样吗
还有TTL和232之间硬件应该没问题吧
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
user1088122:
回复 mangui zhang:
数据接收大部分都是正确的,比如显示电压采样值,大部分情况都是对的,但是偶尔会跳到0V,用电压记录波形可以看到这种跳跃。
TI的例程在controlsuite里只有下位机例程,如果能看到上位机的例程就好了,也可以学习一下。
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
mangui zhang:
回复 user1088122:
我觉得你要确保数据发送完毕之后再送入新的值
还有ADC确保没采到0值 我有用2812做控制和采集 通过SCI和上位机通信
上位机用VB开发
还有建议你的数据上发是打包上发 要有一定的针头针尾
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
user1088122:
回复 mangui zhang:
我下位机程序是套用的controlSUITE里的例程HV_SOLAR_DC_AC_v1.1。因为我觉得这个例程结构写得很好,只是上位机例程看不到。下位机接受到上位机的一个字节,会将这个字节返回。上位机目前会根据返回值做判断。用TI例程里的上位机不会出错,但是自己编写的上位机里却会出错。
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
user1088122:
TI工程师能不能提供一下HV_SOLAR_DC_AC_v1.1例程中的上位机程序?或者通讯协议也行。
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
user1088122:
贴子沉了,自己顶一个
最近在模仿TI太阳能逆变器例程写程序,通讯部分是按照TI例程写的,但是由于例程只能看到下位机程序,所以上位机是自己写的。
例程中下位机从上面收到一个数据,会将这个数据返回。于是上位机程序里根据这个返回数做一个判断。
但是这样做了以后,上位机收到的数据里还是会出现错误。
不知道大家在上位机与下位机通讯里是怎么做的?
rookiecalf:
回复 user1088122:
sci的话,直接照着标准modbus搞个轻量级的modbus就好了