请查看官网:https://www.zlg.cn/can/can/product/id/223.html
安装完上位机之后,上位机使用手册可安装目录下找到: ..\ZCANPRO\UserManual

假设你要测试的CAN要求设置如下:

时钟:80M
仲裁域波特率:500K,采样点81.3%
数据域的波特率:2M,采样点75%
仲裁域和数据域的时钟分频系数理论值:5(对应寄存器值为4)
知识点补充:
使用CAN总线工具时,需要进行采样点、波特率的计算。参考如下公式:
(1)采样点公式
采样点 =(1+TSEG1)/(1+TSEG1+TSEG2)
(2)波特率公式
波特率 = 时钟(总线时钟/外设时钟) / (波特率分频器值)*(时间段1 + 时间段2 +1)
即
CANbps = fbus / ( (CAN0BTR0_BRP[5:0]的十进制数值 + 1) *(CAN0BTR1_TSEG[10:13]的十进制数值 + 1 + CAN0BTR1_TSEG[20:22]的十进制数值 + 1) )
即
CANbps = fbus / ( (BRP) * (CAN_BS1 + CAN_BS2 + 1) )
(1)连接好设备后,打开上位机,点击“设备管理”,选择设备类型为USBCANFD-200U,然后点击打开设备,下方会显示出设备的所有CAN通道。选择你需要打开的通道,点击“启动”。

(2)在弹出的“启动”窗口内,仲裁域波特率下拉框选择“自定义”,点击波特率计算器。

(3)波特率计算器使用方法
【!注意事项!】:USBCANFD-200 V1.03新产品的时钟是80M,要在波特率计算器中自行输入80,否则无法使用自定义波特率功能。
-时钟选为80MHz。 仲裁域波特率选为500K,数据域的波特率选为2M。
-仲裁域和数据域的时钟分频系数BRP选为4。(理论计算的时候用5)。
-点击计算按键,就可以显示在当前指定的波特率、指定的时钟频率和分频系数下可选的采样点了。选则符合你所需的结果,复制数据,粘贴到上图中的“自定义波特率”右侧框内。本例中所得数据为:500Kbps(81%),2.0Mbps(75%),(80,01000518,01000104)

(4)将计算后的结果复制粘贴到“自定义波特率”右侧框内,然后点击“确认“后即可打开通道,随后便可收发数据。

打开通道后,点击发送数据,选择普通发送。

在弹出的窗口内,进行如下配置,然后点击立即发送,即可完成唤醒报文的发送。随后便可在窗口中观测到CAN接收:
Tips:发送次数:最多10000000次,-1代表无限次发送;

我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
两者都可以defsetup(options={})options.reverse_merge:size=>25,:velocity=>10end和defsetup(options={}){:size=>25,:velocity=>10}.merge(options)end在方法的参数中分配默认值。问题是:哪个更好?您更愿意使用哪一个?在性能、代码可读性或其他方面有什么不同吗?编辑:我无意中添加了bang(!)...并不是要询问nobang方法与bang方法之间的区别 最佳答案 我倾向于使用reverse_merge方法:option
CSV.open(name,"r").eachdo|row|putsrowend我得到以下错误:CSV::MalformedCSVErrorUnquotedfieldsdonotallow\ror\n文件名是一个.txt制表符分隔文件。我是专门做的。我有一个.csv文件,我转到excel,并将文件保存为.txt制表符分隔的文件。所以它是制表符分隔的。CSV.open不应该能够读取制表符分隔的文件吗? 最佳答案 尝试像这样指定字段分隔符:CSV.open("name","r",{:col_sep=>"\t"}).eachdo|row|
我一直致力于让我们的Rails2.3.8应用程序在JRuby下正确运行。一切正常,直到我启用config.threadsafe!以实现JRuby提供的并发性。这导致lib/中的模块和类不再自动加载。使用config.threadsafe!启用:$rubyscript/runner-eproduction'pSim::Sim200Provisioner'/Users/amchale/.rvm/gems/jruby-1.5.1@web-services/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:105:in`co
我收到格式为的回复#我需要将其转换为哈希值(针对活跃商家)。目前我正在遍历变量并执行此操作:response.instance_variables.eachdo|r|my_hash.merge!(r.to_s.delete("@").intern=>response.instance_eval(r.to_s.delete("@")))end这有效,它将生成{:first="charlie",:last=>"kelly"},但它似乎有点hacky和不稳定。有更好的方法吗?编辑:我刚刚意识到我可以使用instance_variable_get作为该等式的第二部分,但这仍然是主要问题。
我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=
如何将send与+=一起使用?a=20;a.send"+=",10undefinedmethod`+='for20:Fixnuma=20;a+=10=>30 最佳答案 恐怕你不能。+=不是方法,而是语法糖。参见http://www.ruby-doc.org/docs/ProgrammingRuby/html/tut_expressions.html它说Incommonwithmanyotherlanguages,Rubyhasasyntacticshortcut:a=a+2maybewrittenasa+=2.你能做的最好的事情是: