CAN FD 波特率等参数的增加和联动配置
This commit is contained in:
@@ -73,6 +73,38 @@ namespace CapMachine.Wpf.CanDrive
|
||||
|
||||
#region 公共变量
|
||||
|
||||
/// <summary>
|
||||
/// 仲裁波特率
|
||||
/// </summary>
|
||||
public uint ArbBaudRate { get; set; } = 500000;
|
||||
|
||||
/// <summary>
|
||||
/// 数据波特率
|
||||
/// </summary>
|
||||
public uint DataBaudRate { get; set; } = 2000000;
|
||||
|
||||
/// <summary>
|
||||
/// CAN FD标准 ISO是否启用
|
||||
/// </summary>
|
||||
public bool ISOEnable { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 终端电阻 是否启用
|
||||
/// </summary>
|
||||
public bool ResEnable { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 更新配置
|
||||
/// </summary>
|
||||
public void UpdateConfig(uint arbBaudRate, uint dataBaudRate, bool iSOEnable, bool resEnable)
|
||||
{
|
||||
ArbBaudRate = arbBaudRate;
|
||||
DataBaudRate = dataBaudRate;
|
||||
ISOEnable = iSOEnable;
|
||||
ResEnable = resEnable;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设备固件信息
|
||||
/// </summary>
|
||||
@@ -256,7 +288,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
public void GetCANConfig()
|
||||
{
|
||||
//获取CAN波特率参数
|
||||
ret = USB2CANFD.CANFD_GetCANSpeedArg(DevHandle, ref CANConfig, 500000, 2000000);
|
||||
ret = USB2CANFD.CANFD_GetCANSpeedArg(DevHandle, ref CANConfig, ArbBaudRate, DataBaudRate);
|
||||
if (ret != USB2CANFD.CANFD_SUCCESS)
|
||||
{
|
||||
Console.WriteLine("Get CAN Speed failed!");
|
||||
@@ -276,7 +308,8 @@ namespace CapMachine.Wpf.CanDrive
|
||||
public void InitCAN()
|
||||
{
|
||||
//初始化CAN
|
||||
CANConfig.ISOCRCEnable = 1;//使能ISOCRC
|
||||
CANConfig.ISOCRCEnable = ISOEnable == true ? (byte)1 : (byte)0;//使能ISOCRC
|
||||
CANConfig.ResEnable = ResEnable == true ? (byte)1 : (byte)0;//使能终端电阻
|
||||
ret = USB2CANFD.CANFD_Init(DevHandle, WriteCANIndex, ref CANConfig);
|
||||
if (ret != USB2CANFD.CANFD_SUCCESS)
|
||||
{
|
||||
@@ -554,7 +587,7 @@ namespace CapMachine.Wpf.CanDrive
|
||||
|
||||
//发送CAN数据
|
||||
int SendedNum = USB2CANFD.CANFD_SendMsg(DevHandle, WriteCANIndex, CanMsg, (Int32)CanMsg.Length);
|
||||
|
||||
|
||||
if (SendedNum >= 0)
|
||||
{
|
||||
//Console.WriteLine("Success send frames:{0}", SendedNum);
|
||||
|
||||
Reference in New Issue
Block a user