|
|
发表于 2025-3-5 15:49:21
|
显示全部楼层
本帖最后由 lizhijun666 于 2025-3-5 15:52 编辑
系统地址0x0F00和0F01决定的,首先要打开CFG串口上传的使能开关,其次DGUS软件控件上面的自动上传需要打钩,最后使用DGUS函数读取0F00地址和0F01地址获取上传的数据。
/*****************************************************************************
函 数 名 : Read_0xF00()
功能描述 : 串口2数据自动上传
输入参数 :
输出参数 :
修改历史 :
1.日 期 : 2021年10月13日
作 者 :
修 改 : cuijia
*****************************************************************************/
void Read_0xF00()
{
u16 Va=Read_Dgus(0x0f00);
u16 V1=Read_Dgus(0x0f01);
if(((u8)(Va>>8))==0x5A)//获取5A标志,一般开启上传CPU就会产生5A标志
{ u8 i=0;u16 Temp=0;
u8 Val[100]={0}; //5A A5 06 83 ADDR Len XX XX 组织相关数据发送
Val[0] = DTHD1;
Val[1] = DTHD2;
Val[2] = (((u8)V1)<<1)+4;
Val[3] = 0x83;
Val[4]=(u8)Va;
Val[5]=(u8)(V1>>8);
Val[6]=(u8)V1;
for(i=0;i<(u8)V1;i++)
{
Temp=Read_Dgus(((Val[4]<<8)+Val[5]+i));
Val[7+2*i]=(u8)(Temp>>8);
Val[8+2*i]=(u8)(Temp);
}
#if UART2_ENABLE
uart_data_send(Val,2,DATA_UPLOAD_UART2,CRC_CHECK_UART2);
#endif
#if UART3_ENABLE
uart_data_send(Val,3,DATA_UPLOAD_UART3,CRC_CHECK_UART3);
#endif
#if UART4_ENABLE
uart_data_send(Val,4,DATA_UPLOAD_UART4,CRC_CHECK_UART4);
#endif
#if UART5_ENABLE
uart_data_send(Val,5,DATA_UPLOAD_UART5,CRC_CHECK_UART5);
#endif
Write_Dgus(0x0f00,0);Write_Dgus(0x0f01,0);
}
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|